0

次のモジュールがあります。

module PriceItem
  def price_item(mdl, code, opts = {})
     gs_collector.do_something()
  end
end

belongs_to :gs_collectorこれは、関係を持つ Rails 3.2 アプリのいくつかのモデルに混在しています。それは正常に動作します。

また、このモジュールを GsCollector モデルに混在させたいと考えています。しかし、ここで問題が発生します。上記の例で に変更gs_collectorするselfと、それを混在させた他のモデルでは機能しなくなるからです。

GsCollectorと を持つモデルの両方でこれを使用するにはどうすればよいbelongs_to :gs_collectorですか?

4

1 に答える 1

1

これが最善かどうかはわかりませんが、検討する必要があります

module PriceItem
  def price_item(mdl, code, opts = {})
     if (gs_collector)
        gs_collector.do_something()
     else
        self.do_something()
     end
  end
end
于 2012-08-18T03:08:40.237 に答える