我正在通過哈特爾書的9.3.3,並保持陷入未定義方法的章9.3.3的Ruby on Rails的 - 憋屈Hartl的書,sign_in
未定義的方法`sign_in'的SessionsController: 0x00000100c0da90
我知道這是因爲sign_in方法在sessions_helper文件中,而該文件由模型拾取,而不是由控制器拾取。 Hartl書不需要「包含SessionsHelper」這一行。
如果我把在黑客,這我假設我不應該,它就結束了登陸我和其他錯誤未定義的方法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
和sessions_helper.rb
module SessionsHelper
def sign_in(user)
cookies.permanent.signed[:remember_token] = [user.id, user.salt]
self.current_user = user
end
謝謝!是的,我不知道我錯過了那個盒子。謝謝! –