1

次のような特定のケースシナリオがあります。

同じ展開を使用して複数のドメインで実行される単一の ROR アプリケーションがあります。そのため、ドメイン名に従っていくつかの静的アセット (画像、html ファイル) を提供する必要があります。これを行うための理想的な方法は何ですか?

アプリケーションコントローラーで、ドメイン名を見つけることができました

def current_domain
    @current_domain ||= Domain.find_by_domain(request.host.gsub(/^www\./, ''))
end

しかし、コントローラー内でこのヘルパーを使用して、パブリック ディレクトリに静的ファイルを提供できますか? また、これらのドメイン名とそのドメインの静的ページの作成は中央管理者によって処理され、いつでも動的に実行できます。ドメイン名ごとに異なるディレクトリを作成し、その中に静的アセットを保存する必要がある場合があります。しかし、これをどのようにレンダリングするか、特定のドメインへのリクエストがいつ届くかは、私が抱えている問題です。

Rails でこの問題に対処する方法についてのヘルプをいただければ幸いです。

4

1 に答える 1

0

各ドメインのアプリケーション レイアウトを提案し、動的レイアウトを使用してコントローラーで正しいレイアウトを選択します。

class ProductsController < ApplicationController
  layout :products_layout

  def show
    @product = Product.find(params[:id])
  end

  private
    def products_layout
      @current_domain.special? ? "special" : "products"
    end

end
于 2013-04-11T11:52:39.447 に答える