Search code examples
ruby-on-railsdeviseruby-on-rails-5

not able to pass devise form parameter to database


i am using devise gem and created a name column in user table. but i am not able to pass name parameter to database. i made changes in form what changes i need to do to pass form data into database?

sign_up.html.erb

    <div class="field">
      <%= f.label :name %><br />
      <%= f.text_field :name %>
    </div>

    <div class="field">
      <%= f.label :email %><br />
      <%= f.email_field :email, autofocus: true, autocomplete: "email" %>
    </div>

i am able to pass password and email into database.


Solution

  • You need to whitelist that parameter for devise.

    Add this into your application_controller.rb

    before_action :configure_permitted_parameters, if: :devise_controller?
    
    ...
    
    protected
    
    def configure_permitted_parameters
      devise_parameter_sanitizer.permit(:sign_up, keys: [:name])
      devise_parameter_sanitizer.permit(:account_update, keys: [:name])
    end