Mongoid嵌入式文档自动保存(触发回调)父级

时间:2013-04-10 12:57:56

标签: ruby-on-rails ruby mongodb mongoid

如果我有以下课程:

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

0 个答案:

没有答案