5

デフォルトでは、Railsはファイル名にフォーマット、ロケール、テンプレート言語のビューを見つけることができます(私が作成できるようにindex.de.json.erb

ビューのファイル名に別のカスタムパラメータを追加することは可能ですか?

現在のサブドメインを渡したいので、http://foo.example.com/レンダリングindex.foo.html.erbし、http://bar.example.com/レンダリングしますindex.bar.html.erb(両方ともindex.html.erbフォールバック付き)。

4

2 に答える 2

9
于 2012-08-30T20:22:45.290 に答える
1

ここではカスタムハンドラーは必要ないと思います。テンプレートのいくつかの前提を実行することはありませんが、ドメイン固有になるために必要なのはテンプレートだけです。

私はこのようなものを作ることを検討します:

# in ApplicationController:
  before_filter :set_view_paths

  def set_view_paths
    self.class.view_paths = Rails.root.join('app', 'views', controller_name, request.subdomain)
  end

foo次に、ドメインのテンプレートを各パスfooのフォルダーに配置する必要があります。views/controller_name

また、ドメインビューがない場合にデフォルトを許可するように、append/prepend_view_pathドキュメントを確認してください。

于 2012-08-30T20:33:45.193 に答える