class Itema< ActiveRecord::Base
accepts_nested_attributes_for :itemb
end
class Itemb < ActiveRecord::Base
has_and_belongs_to_many :platforms, join_table: "platforms_itembs"
after_save :check_validity # not called.
end
class ItemaController < ApplicationControllerclass
def update
# params are "itema"=>{"id"=>"5", "name"=>"my_item_a", "itemb_attributes"=>{"0"=>{"id"=>"3", "name"=>"my_item_b", "platform_ids"=>["15", "16", "17"]}}}
respond_to do |format|
if @itema.update(params)
format.html { redirect_to @itema }
end
end
end
当我从Itemb
的表单更新Itema
的平台属性时,Itemb
的平台更新得很好,但是after_save
未被触发。但是,如果我还更改了itemb
的名称,则会触发after_save
。如果我仅更新platform属性,我会无法触发after_save
吗?