好的,我已经在这个工作了大约2个小时,并且确定有一个非常简单的解决方案,但不幸的是作为一个铁路新手我似乎无法找到它。
我按照Ryan Bates认证课程#270建立了一个基本的注册和登录系统。
我在尝试登录时仍然收到同样的错误。
undefined method `find_by_email' for nil:NilClass
我的会话控制器设置如下:
class SessionsController < ApplicationController
def new
end
def create
user = user.find_by_email(params[:email])
if user && user.authenticate(params[:password])
session[:user_id] = user.id
redirect_to root_url, :notice => "Logged in!"
else
flash.now.alert = "Invalid email or password"
render "new"
end
end
def destroy
session[:user_id] = nil
redirect_to root_url, :notice => "Logged Out!"
end
end
但我真的不确定如何定义find_by_email。
人们可以提供给我的任何建议真的非常感谢
答案 0 :(得分:7)
user.find_by_email(params[:email])
应该是
User.find_by_email(params[:email])