[英]chapter 8 Mark Hartl tutorial undefined 'remember_token' error
[英]Chapter 9 (new) Rails Tutorial console exercise: undefined method `remember_token' for #<Class:0x00000004ab1dd8>
我在所有stackoverflow中搜索了答案,但仍然不知道該怎么辦。 練習要求我:
將用戶分配給數據庫中的第一個用戶,然后通過直接調用它來記住方法是有效的。
所以我應該打電話給:
user.remember
這給我錯誤
undefined method `remember_token' for #<Class:0x00000004ab1dd8>
我做了:
rails generate migration add_remember_digest_to_users remember_digest:string
rails db:migrate
user.rb: enter code here
class User < ApplicationRecord
before_save { email.downcase! }
validates :name, presence: true, length: { maximum: 50 }
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i
validates :email, presence: true, length: { maximum: 255 },
format: { with: VALID_EMAIL_REGEX },
uniqueness: { case_sensitive: false }
has_secure_password
validates :password, presence: true, length: { minimum: 6 }
# Returns the hash digest of the given string.
def User.digest(string)
cost = ActiveModel::SecurePassword.min_cost ? BCrypt::Engine::MIN_COST :
BCrypt::Engine::cost
BCrypt::Password.create(string, cost: cost)
end
# Returns a random token. Listing 9.2: Adding a method for generating tokens.
def User.new_token
SecureRandom.urlsafe_base64
end
# Remembers a user in the database for use in persistent sessions.
def remember # Listing 9.3: Adding a remember method to the User model. green
self.remember_token = User.new_token
update_attribute(:remember_digest, User.digest(remember_token))
end
end
我進行了0次失敗,0次錯誤,0次跳過的“ rails test”!
您必須先將第一個用戶分配給user,然后調用Remember方法
你做的方式是
用戶= User.first user.remember
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.