Jam*_*Lin 2 ruby ruby-on-rails
我正在研究Hartl书籍的9.3.3,并继续陷入困境
SessionsController的未定义方法`sign_in':0x00000100c0da90
我知道这是因为sign_in方法位于sessions_helper文件中,该文件由模型而不是控制器拾取.Hartl书不需要"包含SessionsHelper"行.
如果我把那个hack,我假设我不应该这样做,那么它最终会以另一个错误登陆我undefined方法current_user
这是代码
SessionsController.rb
class SessionsController < ApplicationController
def new
@title = "Sign in"
end
def create
user = User.authenticate( params[:session][:email],
params[:session][:password])
if user.nil?
flash.now[:error] = "Invalid email/password combo."
@title = "Sign in"
render 'new'
else
sign_in user
redirect_to user
end
end
def destroy
end
Run Code Online (Sandbox Code Playgroud)
以及sessions_helper.rb
module SessionsHelper
def sign_in(user)
cookies.permanent.signed[:remember_token] = [user.id, user.salt]
self.current_user = user
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1981 次 |
| 最近记录: |