我正在按照Michael Hart的教程学习rails https://www.railstutorial.org/book/log_in_log_out#sec-remember_me,但我得到了未定义的方法'remember'。
我搜索了这个错误并找到了一些解决方案,但没有修复错误,所以显然我在Sessions_Controller中得到了一个no方法错误,因为我的remember方法未定义,这里是我记忆方法的代码
Sessions_Controller
module SessionsHelper
def log_in(user)
session[:user_id] = user.id
end
def remember(user)
user.remember
cookies.permanent.signed[:user_id] = user.id
cookies.permanent[:remember_token] = user.remember_token
end
user.rb
class User < ActiveRecord::Base
def User.new_token
SecureRandom.urlsafe_base64
end
def remember_token
self.remember_token = User.new_token # self sets remember token attribute
update_attribute(:remember_digest,User.digest(remember_token))
# creates a random string of digits
end
end
那么如何修复No方法错误?
答案 0 :(得分:0)
你的代码中只有一个拼写错误。根据您提供的链接,它应为def remember
,而不是def remember_token
。 :)