如果我有以下课程:
class Bar
include Mongoid::Document
embeds_many :foos, :cascade_callbacks => true
end
class Foo
include Mongoid::Document
embedded_in :bar, :inverse_of => :foos
end
是否有可能以这样的方式保存/更新Foo,它的父栏自动保存(并专门调用它自己的'before_save'回调)。 我想这样做而不必将Bar的方法暴露给Foo。
即。不要这样做作为解决方案:
class Bar
include Mongoid::Document
embeds_many :foos, :cascade_callbacks => true
def update_stuff_on_bar
# Stuff
end
end
class Foo
include Mongoid::Document
embedded_in :bar, :inverse_of => :foos
before_save :update_parent
def update_parent
bar.update_stuff_on_bar # <- We're having to use internals of Bar inside Foo.
end
end