我有一个"用户"我希望为电子邮件帐户验证提供唯一页面的模型。我通过根据用户ID生成SHA ID来构建验证路由的唯一参数。
然而,数据库值和视图打印值不匹配。我认为它与编码有关,但我无法找到解决方案。
"用户" model包含以下代码:
after_initialize :init
def init
unique_path = Digest::SHA1.hexdigest(self.id.to_s)
unique_path.force_encoding(Encoding::UTF_8) #didn't seem to work
self.email_verification_path = unique_path
end
该视图包含:
<p>
<strong>Email verification url?</strong>
<%= @user.email_verification_path %>
</p>
任何指导都将不胜感激。提前谢谢!
答案 0 :(得分:0)
在after_initialize挂钩上运行此函数无法生成正确的哈希,因为该ID尚不可用。将函数设置为在“before_save”或“after_create”上运行。