Ruby sessioncontroller#create中的NoMethodError(未定义的方法'find#u by';)

Ruby sessioncontroller#create中的NoMethodError(未定义的方法'find#u by';),ruby,Ruby,通过使用上述代码,我无法使用我的详细信息登录。希望有人能帮我摆脱困境 提前感谢将创建方法中的第一行更改为: def create @user = User.find_by(email: params[:session][:email].downcase) if user && user.authenticate(params[:session][:password]) sign_in user redirect_to user else fla

通过使用上述代码,我无法使用我的详细信息登录。希望有人能帮我摆脱困境


提前感谢

创建
方法中的第一行更改为:

def create
  @user = User.find_by(email: params[:session][:email].downcase)
  if user && user.authenticate(params[:session][:password])
    sign_in user
    redirect_to user
  else
    flash[:error] = 'Invalid email/password combination'
    render 'new'
  end
end

出现此错误的原因是您可能在Rails 3应用程序中使用Rails 4
find_by
方法

您正在使用您自己的身份验证,或使用Desive?之类的参考:
@user = User.find_by_email(params[:session][:email].downcase)