PadReino中的ActiveRecord部分更新

时间:2011-01-14 09:12:48

标签: activerecord padrino

如何在Padrino应用程序中配置ActiveRecord以使用partial_updates?

Customer < ActiveRecord::Base
  after_update :check_name_change

  private
  def check_name_change
    if name_changed?
      # send mail notification for change of name.
    end
  end
end

考虑用户在数据库中具有属性“name”和“country”等 当用户更新名称时,它会按预期发送电子邮件通知。但是,即使用户更改了国家/地区(或任何其他)属性,它也会发送名称更改通知,这是不可接受的。

检查日志后,我发现国家/地区的更新查询正在进行完整更新,并设置了用户记录的所有属性。就像这样名字?方法返回true,并发送名称更改通知电子邮件。

如果我在app.rb中添加以下行

ActiveRecord::Base.partial_updates = true

我认为没有区别。任何update_attribute调用仍然会对记录进行完整更新 还有其他解决方案或解决方法吗?

1 个答案:

答案 0 :(得分:0)

这与padrino无关,只与活动记录有关。

在before_save上试试。