【发布时间】:2015-08-07 10:22:20
【问题描述】:
在我的邀请模型中,我有:
attr_accessor :user_token
def create_user(user)
create_user_digest
...
end
private
def create_user_digest
self.user_token = User.new_token
self.user_digest = User.digest(user_token)
end
它会产生错误:
undefined method `user_digest=' for #<Invitation:0x000000044c3318>
我已经从 User 模型中调整了设置,在该模型中我有一个类似的注册身份验证设置。 user_digest 是 Invitation 表中的一列。 .new_token 和 .digest 是 User 模型中的方法(见下文)。什么可能导致错误?
def User.digest(string)
cost = ActiveModel::SecurePassword.min_cost ? BCrypt::Engine::MIN_COST :
BCrypt::Engine.cost
BCrypt::Password.create(string, cost: cost)
end
def User.new_token
SecureRandom.urlsafe_base64
end
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 model