小编Jon*_*ips的帖子

Rails ActiveRecord:即使父属性未更改,accepts_nested_attributes_for 是否将父记录标记为脏记录?

我正在与 iPhone 应用程序同步数据,因此了解哪些记录已“实际”更新而哪些尚未更新非常重要。我有一个带有相关链接关联的事件模型:

在 event.rb 中:

has_many :related_links
accepts_nested_attributes_for :related_links, :reject_if => lambda { |a| a[:url].blank? && a[:id].blank? }, :allow_destroy => true
Run Code Online (Sandbox Code Playgroud)

在我的事件表单上,当我什么都没有改变时,包括相关链接字段,我很好......我的事件模型没有任何更新。但是如果我在我的相关链接字段中输入一个 url,我的事件对象上的“updated_at”就会更新。

UPDATE "events" SET "updated_at" = '2011-05-30 15:27:03.228435' WHERE "events"."id" = 1791
Run Code Online (Sandbox Code Playgroud)

它应该这样工作吗?我可以阻止它被标记为脏和被更新吗?

activerecord ruby-on-rails

5
推荐指数
1
解决办法
1733
查看次数

标签 统计

activerecord ×1

ruby-on-rails ×1