基本的に単純な製品カタログである既存の Rails 3.2 アプリケーションがあります。現在、ユーザーがサイトへのアクセスに使用しているサブドメインに基づいて、特定の製品とのやり取りのみを許可する必要があるという状況に直面しています。
値としてを持つProduct
モデルbelongs_to
a 。Repository
subdomain
そのため、リクエストは次のとおりです。
http://bobs_store.myapp.com/products
は、 という名前のリポジトリを持つ製品のみを表示しますbobs_store
。
このフィルタリングを導入するのに最適な場所はどこですか? これを行うためにモデル レベルで作成できるデフォルト スコープはありますか? それに関する私の唯一の問題は、モデルからのリクエストにアクセスできないことです。これは、そのモデルに対して行うすべての呼び出しにサブドメインを渡す必要があることを意味しますか?
Product
もう1つ、モデルへのすべての呼び出しは次のように行われます。
current_user.products.<whatever>
current_user
ヘルパー メソッドを何らかの方法で変更して、目的の機能を取得することはできますか? それを除けば、ルートでできることはありますか? これらは暗闇の中でのショットですが、私が気付いていない、使用できる Rails ショートカットがいくつかあることを願っています。