有问题设置多个params.require

时间:2015-08-10 10:12:41

标签: ruby-on-rails-4

我正在使用“用户”和“管理员”模式正在使用的password_reset表单。我知道你只能通过params.require函数传递一件事。它一直运行到更新功能,因为我已将'user_params'设置为以下内容:

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

通过以下代码更新来调用:

def update
  @user = User.find_by_password_reset_token(params[:id]) || Admin.find_by_password_reset_token(params[:id])
  if @user.password_reset_sent_at < 2.hours.ago
    redirect_to new_password_reset_path, :alert => "The Password reset has expired."
    elsif @user.update_attributes(params[:user])
        redirect_to root_url, :notice => "Your Password has been reset! You can now login."
      else
    render :edit
  end
end

我尝试了各种方法,但无法获取更新以检查管理员用户。在密码重置控制器中,通过检查用户是否存在或管理员是否来设置@user。示例如下。

user = User.find_by_email(params[:email]) || Admin.find_by_email(params[:email])

最好的方法是什么?

0 个答案:

没有答案