当我尝试提交注册表时出现以下错误。 参数缺失或值为空:用户
def user_params
params.require(:user).permit(:name, :email, :password, :password_confirmation)
end
请求如下:
{"utf8"=>"✓",
"authenticity_token"=>"YX0+4AeWlGWJiQZgbhV9cxi6TUCoibZfwh95BrK9iCQ=",
"name"=>"asasa",
"email"=>"asasas@asas.com",
"password"=>"[FILTERED]",
"confirm_password"=>"[FILTERED]",
"commit"=>"Register"}
下面是我的看法
<%= form_tag users_path, class: "form-horizontal", id: "signupform" do %>
<%= end %>
最佳答案
那里没有 params[:user]
,这就是错误告诉您的内容。您是否希望您的参数看起来像这样?
{"utf8"=>"✓",
"authenticity_token"=>"YX0+4AeWlGWJiQZgbhV9cxi6TUCoibZfwh95BrK9iCQ=",
"user" => {"name"=>"asasa",
"email"=>"asasas@asas.com",
"password"=>"[FILTERED]",
"confirm_password"=>"[FILTERED]"
},"commit"=>"Register"}
(我添加了一些缩进以突出结构)。
如果是这样,那么您需要修改提交这些参数的表单。要么使用 form_for @user
,它会自动将输入标签的 name
属性设置为 user[name]
,user[email]
等,或者自己手动设置字段的名称,如 user[name]
等
关于ruby-on-rails - 参数缺失或值为空 : user rails 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24243253/