通过注册页面为设计模型用户设置自定义属性



我试图允许用户使用设计注册一个名字和姓氏。我已经向用户模型添加了名字和姓氏属性,并在registrations/new.html.erb页面中为每个属性添加了输入字段。但是当用户尝试注册时,我总是得到这个错误:

ArgumentError在RegistrationsController#创建错误的号码参数(0 for 1)

def sign_up_params
    params.require[:user].permit[:first_name, :last_name, :email, :password, :password_confirmation, :current_password]
end

下面是:

app/controllers/registrations_controller.rb:6:in `sign_up_params'
Request
Parameters:
{"utf8"=>"✓",
 "authenticity_token"=>"W6fWxCPX6LchBYyNnlzQ+TdmBSWtmzy8JeI/jRPJCiY=",
 "user"=>{"first_name"=>"Bill",
 "last_name"=>"Burr",
 "email"=>"billburr@example.com",
 "password"=>"[FILTERED]",
 "password_confirmation"=>"[FILTERED]"},
 "commit"=>"Sign up"}

这是我的注册控制器的样子:

class RegistrationsController < Devise::RegistrationsController
private
def sign_up_params
    params.require[:user].permit[:first_name, :last_name, :email, :password, :password_confirmation, :current_password]
end
def account_update_params
    params.require[:user].permit[:first_name, :last_name, :email, :password, :password_confirmation, :current_password]
end
end

这是我的新注册视图:

<div class="col-md-8 col-md-offset-2">
    <h2>Sign up</h2>
    <%= simple_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
      <%= f.error_notification %>
      <div class="form-inputs">
        <%= f.input :first_name, required: true %>
        <%= f.input :last_name, required: true %>
        <%= f.input :email, required: true, autofocus: true %>
        <%= f.input :password, required: true, hint: ("#{@minimum_password_length} characters minimum" if @minimum_password_length) %>
        <%= f.input :password_confirmation, required: true %>
      </div>
      <div class="form-actions">
        <%= f.button :submit, "Sign up" %>
      </div>
    <% end %>
    <%= render "devise/shared/links" %>
</div>

[]改为():

def sign_up_params
  params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation, :current_password)
end

#require#permit是方法调用

最新更新