如何在rails 4中使用params.require

我有一个这样的私人方法用于注册表单,其中包含四个字段, firstnameemailpasswordconfirm password 。 我不知道如何检查password confirmation

 def user_params params.require(:user).permit(:name, :email, :password, :password_confirmation) end 

Previosuly,我使​​用下面的代码。如何转换下面的代码使用params.require

 User.new(name: params[:name], email: params[:email], password: params[:password], confirmpassword: params[:password]) 

看着你的代码

 User.new(name: params[:name], email: params[:email], password: params[:password], confirmpassword: params[:password]) 

我怀疑你没有使用password_confirmation字段。 在这种情况下,这就是你将如何使用params.require

 def user_params params.require(:name) params.require(:email) params.require(:password) params.permit(:name,:email,:password) end 

根据评论更新

如果你使用的是password_confirmation字段,那么这应该像在RAILS 3.xx中一样

 User.new(name: params[:name], email: params[:email], password: params[:password], confirmpassword: params[:password_confirmation]) 

而且,这就是strong_parameters (通常使用rails 4.xx )的方式

 User.new(user_params) def user_params params.require(:name) params.require(:email) params.require(:password) params.require(:confirm_password) params.permit(:name,:email,:password,:confirm_password) end