提交 713fc39d 编写于 作者: B Brock Trappitt

Prevented belongs_to: touch propagating up if there are no changes being saved

上级 5508a3e5
* Change belongs_to touch to be consistent with timestamp updates
If a model is set up with a belongs_to: touch relatinoship the parent
record will only be touched if the record was modified. This makes it
consistent with timestamp updating on the record itself.
*Brock Trappitt*
* Fixed the inferred table name of a HABTM auxiliar table inside a schema.
Fixes #14824
......
......@@ -103,7 +103,7 @@ def self.add_touch_callbacks(model, reflection)
BelongsTo.touch_record(record, foreign_key, n, touch)
}
model.after_save callback
model.after_save callback, if: :changed?
model.after_touch callback
model.after_destroy callback
end
......
......@@ -369,6 +369,13 @@ def test_belongs_to_with_touch_option_on_update
assert_queries(2) { line_item.update amount: 10 }
end
def test_belongs_to_with_touch_option_on_empty_update
line_item = LineItem.create!
Invoice.create!(line_items: [line_item])
assert_queries(0) { line_item.save }
end
def test_belongs_to_with_touch_option_on_destroy
line_item = LineItem.create!
Invoice.create!(line_items: [line_item])
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册