【问题标题】:Rails, generate MD5 hash of the record's ID and save that alsoRails,生成记录 ID 的 MD5 哈希并保存
【发布时间】:2011-11-19 10:43:35
【问题描述】:

保存一个rails模型后,我想生成一个ID的md5哈希,并与对象一起保存在数据库中。

我的问题是,如何定义执行此操作的方法?我需要 ID 来进行计算,但直到保存后才完成?

【问题讨论】:

    标签: ruby-on-rails hash model callback md5


    【解决方案1】:

    在模型中使用 after_create 回调来执行此操作。

    class YourClass < ActiveRecord::Base
      after_create :hash_it
    
      private
    
      def hash_it
        self.md5_hashed = id.md5_your_hash_method
      end
    
    end
    

    仅供参考,可用的 4 个“后”回调是:

    after_validation  
    after_create
    after_save
    after_commit
    

    【讨论】:

    • 您应该进一步详细说明以避免递归问题
    • 现在我想知道 - 这将如何保存到数据库中? rails 会为我做另一个保存吗?或者这真的应该是after_create?或者该 ID 是否可用?
    • 也许这应该是 after_create ?是的,听起来更好
    • 原始海报“保存后”将我带到了那里,但这是我们正在谈论的 ID,所以我当然不希望它在原始初始创建/填充后改变。
    • 设置后需要保存记录或使用update_attribute
    猜你喜欢
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    • 2011-07-26
    • 2011-08-17
    • 2015-08-14
    相关资源
    最近更新 更多