我在我的Rails 4应用程序中的User
控制器中使用了强参数。
def new
@user = User.new
end
def create
@user = User.new(user_params)
if !@user.save
render :new
end
end
private
def user_params
params.require(:user).permit(:first_name, :last_name, :address_1, :address_2, :city, :state, :zip, :phone, :email, :password, :ssn)
end
我也在User
模型中进行了验证。
validates_presence_of :first_name, :last_name
如果用户填写我的表单以创建他们的帐户并且未通过验证,则当控制器呈现new
操作时,不会填充用户填写的所有字段,整个表单都是空白。我错过了什么吗?
答案 0 :(得分:0)
在验证失败时,您似乎创建了新的实例变量。
您必须以新的形式使用失败的实例变量。
如果您无法理解我的回答,请添加您的创建操作和表单视图的代码。
答案 1 :(得分:0)
我使用的是单表继承,并预先指定了用户的类型。一旦我删除了STI,我的字段就显示出来没有问题。