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与另一台服务器的集成,如果我没有得到来自其他服务器的响应,我无法保存'家庭',并使用交易我会必须将所有的逻辑权利交给控制器? –