I'm pretty new to Rails and I am trying to understand the way that Devise is treating the users resource and how the forms work.
Inside the app/views/devise/sessions/new.html.erb there is the following code (unmodified by me)
<%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %>
<%= devise_error_messages! %>
<div class="field">
<%= f.label :email %><br />
<%= f.email_field :email, autofocus: true %>
</div>
<% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
<div>Currently waiting confirmation for: <%= resource.unconfirmed_email %></div>
<% end %>
<div class="field">
<%= f.label :password %> <i>(leave blank if you don't want to change it)</i><br />
<%= f.password_field :password, autocomplete: "off" %>
<% if @minimum_password_length %>
<br />
<em><%= @minimum_password_length %> characters minimum</em>
<% end %>
</div>
<div class="field">
<%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation, autocomplete: "off" %>
</div>
<div class="field">
<%= f.label :current_password %> <i>(we need your current password to confirm your changes)</i><br />
<%= f.password_field :current_password, autocomplete: "off" %>
</div>
<div class="actions">
<%= f.submit "Update" %>
</div>
<% end %>
And then in config/routes.rb there is the line
devise_for :users
Is this how devise knows what resource to use in the form? If I changed the config routes, would the form modify a different record in the DB on submit?
Ultimately I want to be able to modify other aspects of the user data which were added by me (e.g. user names). Could I just add additional form fields to this view and successfully modify those columns in users?