0

エレガントに解決するのに苦労している問題に遭遇しました。私は RDBMS に精通しているので、私のやり方は理想的ではないかもしれません。

私がやっていること: HABTM アソシエーション内のアイテムを追跡する必要があります。さらに、「アクティブ」なアイテムのみがカウントされるため、カウントには条件があります。関連付けコールバックを使用して、コレクションへの追加と削除を追跡することに成功しました。

問題: 反対のインスタンスの ID を非表示フィールドとしてフォームに設定することにより、フォームを介してコレクションに項目を追加しています。これは問題なく動作しますが、問題は、コールバックを呼び出さずに反対のインスタンスをコレクションに直接追加することです (古くからの問題)。

私の質問: コールバックを呼び出すコレクションにインスタンスを追加するよりエレガントな方法はありますか?

さらに具体的な例が必要な場合はお知らせください。喜んでいくつか提供します。

4

1 に答える 1

0

次の mongoid3 コールバックを使用してみましたか?

  • after_add
  • after_remove
  • before_add
  • before_remove

詳細はこちら

于 2013-08-23T10:30:45.173 に答える