代码之家  ›  专栏  ›  技术社区  ›  Luke

ActiveRecord的“是脏的”插件?

  •  2
  • Luke  · 技术社区  · 15 年前

    我正在编写一些使用了大量after_save回调的代码,我记得看到一个插件,它允许 model.changes save .

    如果我能写下来,那将是一个很大的帮助 if body_did_change? 在我的 after_save 打电话,而不是用 before_save 过滤只是为了设置一个标志。

    我以前也写过类似的东西,但我更喜欢使用支持的东西,我发誓我以前见过这个插件。

    2 回复  |  直到 10 年前
        1
  •  2
  •   vectran    15 年前

    我相信它现在是内置的——这是最近的一项功能。我一直在我的项目中使用它。。看见 http://ryandaigle.com/articles/2008/3/31/what-s-new-in-edge-rails-dirty-objects

        2
  •  3
  •   Cory    14 年前

    你在这里的回答太晚了,但我自己也在寻找同样的东西。。。

    Rails 3支持以下功能:

    person.name # => 'bob'
    person.name = 'robert'
    person.save
    person.previous_changes # => {'name' => ['bob, 'robert']}
    

    请看这里: http://edgeapi.rubyonrails.org/classes/ActiveModel/Dirty.html

    干杯

    推荐文章