Rails 初哥的问题, Ruby on Rails Tutorial 第八章里面有一个 sign_in 方法, 作用是:
1 创建一个带有remember_token 的cookie2 创建一个 current_user 可以在controller 和 views 里面调用3 创建一个 @current_user 变量保存登陆user 的状态
我现在碰到的问题是:1 current_user 在views 里面无法调用. <%= current_user.name %>2 @current_user 在views 里面是 nil
和书本上的代码对照都一样,但是就是不能工作。这个问题有点奔溃。
def create @user = User.find_by_email(params[:session][:email]) if @user && @user.authenticate(params[:session][:password]) sign_in @user redirect_to @user else flash.now[:error] = "Invalid email/password combination" render "new" end endmodule SessionHelperdef sign_in(user) cookies[:remember_token] = user.remember_token self.current_user = userenddef current_user=(user) @current_user = userenddef current_user @current_user ||= User.find_by_remember_token(cookies[:remember_token])end
原文地址:新手问题 Ruby on Rails Tutorial chapter 8 sign_in 和 cu, 感谢原作者分享。 见所未见,闻所未闻。