【发布时间】:2015-03-16 09:46:19
【问题描述】:
请检查伪代码:
class Team
has_many :users
accepts_nested_attributes_for :users, allow_destroy: true
end
class User
belongs_to :team
has_many :addresses
accepts_nested_attributes_for :addresses
attr_accessor :dummy
before_validation :generate_addresses_attributes
def generate_addresses_attributes
# Use the dummy value to set the addresses_attributes
end
end
现在执行team.update(users_attributes: [{"0" => { dummy: "changed!" }}])时(除了dummy属性其他字段不会改变),它不会触发#generate_addresses_attributes回调,因为它认为没有任何变化,没有保存,没有回调......
所以我的问题是如何触发虚拟属性的回调,或者强制保存 Accept_nested_attributes_for。
谢谢!
【问题讨论】:
标签: ruby-on-rails-4 callback nested-attributes attr-accessor