そのため、Railsアプリで発生する可能性のあるさまざまなイベントをトリガーするためのモデルを実装しようとしています。
私がやりたいことのサンプルコード。
Action.trigger_on("channel1")
上記のコードは、次のようにトリガーされます。
Trigger.trigger("channel1")
ただし、特定のパラメーターセットに対してのみアクションをトリガーする場合は、ハッシュを渡すことができます
Action.trigger_on("channel1", {important: true, is_transfer: true})
上記のアクションは、「channel1」にあるchannel1上のものによってのみトリガーされ、また、である必要がありimportant: true
、である必要がありis_transfer: true
ます。
したがって、is_transferがないため、これはトリガーされません。
Trigger.trigger("channel1", {important: true})
しかし、これは
Trigger.trigger("channel1", {important: true, is_transfer: true})
現在、トリガーは、これらのパラメーターを含む「プロパティ」のサブドキュメントを持つドキュメントです。すべてのパラメーターのサブセットに一致するすべてのトリガーを見つけるにはどうすればよいですか?または、おそらくこのモデリングを改善するためのより良い方法がありますか?
それを行うための愚かな方法は、チャネルに一致するすべてのトリガーを見つけてから、それらを繰り返し処理して、現在のトリガーに必要なすべてのプロパティがあるかどうかを確認することです。
編集:また、アクションのトリガーはそれほどタイムクリティカルではないことに注意することが重要だと思います。