【发布时间】:2014-06-04 18:39:03
【问题描述】:
我在我的应用程序中使用annotate 并且所有模型都成功注释除了user.rb,它在我注释时显示以下错误:
无法注释 user.rb:参数数量错误(0 代表 1)
除了注释之外,其他一切都很好。用户创建、更新、删除、登录、注销,一切正常。我确定问题出在 Digest::SHA1 上,我用它来创建会话令牌,如下面 user.rb 的 sn-p 所示。
def User.new_remember_token
SecureRandom.urlsafe_base64
end
def User.hash(token)
Digest::SHA1.hexdigest(token.to_s)
end
private
def create_remember_token
remember_token = User.hash(User.new_remember_token)
end
如果我删除第二个 (def User.hash(token)) 并改为执行以下操作:
def User.new_remember_token
SecureRandom.urlsafe_base64
end
private
def create_remember_token
remember_token = Digest::SHA1.hexdigest(User.new_remember_token.to_s)
end
然后annotate 很高兴并且成功地注释了user.rb。但是,这并不是真正的红宝石方式,因为我的会话助手多次使用该 User.hash(token) 调用。我对 Digest::SHA1.hexdigest 或我使用它的方式有什么不了解的地方?
【问题讨论】:
标签: ruby-on-rails-4 sha1 railstutorial.org ruby-2.0 annotate