Ruby on rails 未定义的局部变量或方法“记住”标记';-M Hartl';s轨道教程第8章
花了一些时间来解决这个问题,我已经没有办法修复这个错误了。我已经从M Hartl的RoR教程到达了第8章(登录/退出)。这里也有类似的问题(),我尝试了这里给出的所有答案,但都没有用 在my user.rb文件中定义了方法memory_令牌:Ruby on rails 未定义的局部变量或方法“记住”标记';-M Hartl';s轨道教程第8章,ruby-on-rails,railstutorial.org,Ruby On Rails,Railstutorial.org,花了一些时间来解决这个问题,我已经没有办法修复这个错误了。我已经从M Hartl的RoR教程到达了第8章(登录/退出)。这里也有类似的问题(),我尝试了这里给出的所有答案,但都没有用 在my user.rb文件中定义了方法memory_令牌: class User < ActiveRecord::Base before_save { self.email = email.downcase } before_create :create_remember_token has_secure_
class User < ActiveRecord::Base
before_save { self.email = email.downcase }
before_create :create_remember_token
has_secure_password
validates :name, presence: true, length: { maximum: 50 }
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
validates :email, presence: true, format: { with: VALID_EMAIL_REGEX },
uniqueness: { case_sensitive: false }
validates :password, length: { minimum: 4 }
validates :password_confirmation, presence: true
def User.new_remember_token
SecureRandom.urlsafe_base64
end
def User.encrypt(token)
Digest::SHA1.hexdigest(token.to_s)
end
private
def create_remember_token
self.remember_token = User.encrypt (User.new_remember_token)
end
end
我对Ruby和Rails(以及一般的编码)还不熟悉,所以任何线索都会有很大帮助。听起来您忘记了生成(或应用)迁移,该迁移将
记住\u标记
属性添加到用户
模型中
rails generate migration add_remember_token_to_users remember_token:string
rake db:migrate
rake db:test:prepare
听起来您忘记了生成(或应用)将
记住\u令牌
属性添加到用户
模型的迁移
rails generate migration add_remember_token_to_users remember_token:string
rake db:migrate
rake db:test:prepare
在我的例子中,错误是一个愚蠢的错误,没有添加:
remember_token = User.encrypt(cookies[:remember_token])
我在sessions\u helper.rb文件中定义了当前用户 在我的例子中,这个bug是一个愚蠢的错误,没有添加:
remember_token = User.encrypt(cookies[:remember_token])
我在sessions\u helper.rb文件中定义了当前用户 您将在此处找到答案:您将在此处找到答案:
remember_token = User.encrypt(cookies[:remember_token])