さまざまなエンティティに簡単に採用できる高度な検索機能を構築しています。この機能は、目的のコントローラーのアクションに適用されるため、コントローラーの懸念事項を使用して、各コントローラー I のそれぞれに#index
汎用パーシャルをフックすることにしました。#index
include AdvancedSearchFeature
翻訳がかなりの問題であることがわかるまで、すべてがスムーズに機能します。各高度な検索では、どこかで指定する必要があるさまざまな翻訳キーが使用されますが、どこでこれを行うのが最適かわかりません。
私は考えました:
- 懸念事項ではなく、一般的なものであるためです。
- コントローラは変換を直接処理するべきではないため、懸念事項を含めたコントローラではそうではありません。
Model.advanced_search_translation_keys
コントローラーにリンクされたモデルでは、そうではありません。これは、対応するビューで使用される変数に割り当てられる必要があるを提供するのが自然に感じられないためです。- コントローラーに関連付けられた
#index
ビューでは、そうではありません。ビューは、高度な検索機能の汎用パーシャルに渡される翻訳ハッシュで汚染されるべきではないためです。
そのため、これらの翻訳を...ヘルパーで行うことになりました。これらのヘルパーは、高度な検索機能のジェネリック パーシャルから呼び出され、目的の翻訳キーが存在する場合は、そこから取得されます。しかし...私は、特に翻訳を返すためにヘルパーを作成するという考えが本当に好きではありません.
これを行う方法についてより良いアイデアはありますか?たぶん、あなたはこの問題に出くわし、他の方法で解決しましたか?