0
例如,我有這個:Rails has_many關聯更改爲父模型不反映?
class Family < ActiveRecord::Base
:has_many :members
def aging(date)
members.find_all_by_birthday(date).each do |m|
m.age = m.age+1
# i dont want to put a m.save here
end
end
# some validations
end
@family = Family.first
@family.aging("2012-01-04")
@family.members.each do |m|
puts m.age
end
# it still the old age
我想調用的方法老化後使用@ family.save但它似乎不是這樣的,我想拯救這個只有當所有驗證滿足。這只是一個簡化我需要的示例
它的工作原理,但它是唯一的方法嗎? –
我不確定這是否只是*方式。這是*一種方式。你可以做一些更復雜的事情,並且覆蓋家族中的「成員」方法,但我認爲這將是一個過於複雜的方法。或者,您可以從不同的方向來解決問題。爲什麼在家人得救之前,會員無法得救?這兩個保存是否可以在一個事務中完成,以便這些更改一起發生? – Shadwell
問題是,我改變了很多來自'家庭'的屬性,然後我有一個JSON與另一臺服務器的集成,如果我沒有得到來自其他服務器的響應,我無法保存'家庭',並使用交易我會必須將所有的邏輯權利交給控制器? –