【发布时间】:2014-11-04 14:43:41
【问题描述】:
我的错误页面告诉我“参数丢失或值为空:用户”并引用了我的 user_params 私有方法和我的创建操作作为罪魁祸首。它还表明我传入的所有参数都被创建帖子接收了。
简称控制器:
def new
@user = User.new
end
def create
@user = User.new(user_params)
@user.save
redirect_to @user
end
private
def set_user
@user = User.find(params[:id])
end
def user_params
params.require(:user).permit(:first_name, :last_name, :email)
end
我的 form_tag 启动创建帖子:
= form_tag @user do
.form-group
= label_tag :first_name, nil, class: 'col-md-2'
= text_field_tag :first_name, nil, class: 'col-md-3'
%br
.form-group
= label_tag :last_name, nil, class: 'col-md-2'
= text_field_tag :last_name, nil, class: 'col-md-3'
%br
.form-group
= label_tag :email, nil, class: 'col-md-2'
= email_field_tag :email, nil, class: 'col-md-3'
%br
.actions.form-group
= submit_tag 'Submit', class: 'btn btn-primary col-md-offset-2'
【问题讨论】:
-
虽然@BroiSatse 给出了解决方案,但原因是您收到的参数没有嵌套在
:user哈希中,即params[:user]是空的。因为在 html 中,您输入的名称不像user[email]等...
标签: ruby-on-rails forms controller