私はユーザーがいくつかの技術を研究し、それに対していくつかの報酬を得ることができる状況に陥っています。今、これらの報酬は、いくつかのアイテムを作成したり、生産を増強したりすることができるようなものです。フィルタ内でフラッシュメッセージを処理する適切な方法
私が現在やっていることは、コントローラのフラッシュメッセージとリダイレクトを処理することです。だから、アイテムを作るためには、特定の技術を研究しなければならないケースを想像してみてください。私のコントローラは次のようになります:
def create
flash[:error] = I18n.t('error.not_researched') and redirect_to research_url and return if not current_user.has_research?(research)
....
....
end
もちろん、これはうまくいきますが、私はそれが最良の方法です。私は多分before_createフィルタを使ってそれを行うことを考えましたが、このように、私は実際にフラッシュメッセージを設定することはできません。
したがって、私はベストプラクティスという点でどのように進むべきかを尋ねたいので、コードは可能な限りDRYであり、得られるように書かれています。
あなたの質問が間違っていると私に知らせてくれます。フラッシュメッセージの表示は、通常、使用しているレイアウトファイルの1つで行われます。そうすれば、それはすべての意見の中心的な場所です。コントローラーであなたが抱いていることは正しいです。 before_filterは必要ありません。 Plsはあなたに例が必要なのかどうかを知らせ、私はそれを投稿することができます。希望が役立ちます。 – Prashanth