the*_*ava 3 ruby ruby-on-rails ruby-on-rails-4
我有对于具有四个字段,一个登记表这样的私人方法firstname,email,password和confirm password。我不确定如何检查password confirmation。
def user_params
params.require(:user).permit(:name, :email, :password,
:password_confirmation)
end
Run Code Online (Sandbox Code Playgroud)
以前,我使用下面的代码。如何将下面的代码转换为使用params.require
User.new(name: params[:name], email: params[:email],
password: params[:password], confirmpassword: params[:password])
Run Code Online (Sandbox Code Playgroud)
查看您的代码
User.new(name: params[:name], email: params[:email],
password: params[:password], confirmpassword: params[:password])
Run Code Online (Sandbox Code Playgroud)
我怀疑您没有使用password_confirmation字段。在这种情况下,这就是您将使用的方式params.require
def user_params
params.require(:name)
params.require(:email)
params.require(:password)
params.permit(:name,:email,:password)
end
Run Code Online (Sandbox Code Playgroud)
根据评论更新
如果您正在使用password_confirmation字段,则应该类似于RAILS 3.xx
User.new(name: params[:name], email: params[:email],
password: params[:password], confirmpassword: params[:password_confirmation])
Run Code Online (Sandbox Code Playgroud)
而且,这就是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
Run Code Online (Sandbox Code Playgroud)