1
私は、オブザーバをafter_save(キャンペーン)のレイルズアプリに設定しました。コントローラのコールオブザーバのレンダリング
基本的に、オブザーバーはキャンペーン内の特定のタグを探し、それらのタグが存在する場合は、「達成」モデルで新しいレコードを作成します。
私がしようとしていることは、キャンペーンコントローラで、これらの達成度のいずれかがオブザーバーによって作成されているかどうかを確認し、そうであればその達成度の表示ページにリダイレクトします。
私はちょうどそれについて知らない簡単な機能があると確信しています...しかし、私は何を使うべきですか?
ありがとうございます!ノーコードで
うーんと、私はこれを考える。オブザーバーでbefore_save(キャンペーン)を使用すると、ALMOSTの作業が可能になります。問題は、実績が実際のデータベースレコードのタグへの参照を持っていないからです...タグはオブザーバで繰り返されます。方法は、そのようなものです:達成。新しい?これは最近成果が出ているかどうかを確認するためです(Achievement.find_by_tag(@タグ)の代わりに) – goddamnyouryan
Nahですが、@ campaign.acheievements.lastをチェックして、いつ作成されたかを確認してからビジネスを行います。あなたはキャンペーンからそれをスコープする必要があります。そうしないと、すべてのユーザーやキャンペーンによって保存されたLASTアチーブメントが見つかりません。これはあなたが望むものではありません。 – pjammer