我正在使用devise gem,并在用户表中创建了名称列。但我无法将名称参数传递给数据库。我对表单进行了更改,需要做哪些更改才能将表单数据传递到数据库中?
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>
我能够将密码和电子邮件传递到数据库中。
您需要将该参数列入白名单以进行设计。
将此添加到您的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