Rails Asset Pipeline ガイドではconfig.assets.paths
inを使用するように指示されconfig/application.rb
ていますが、現時点ではリクエストのサブドメインにアクセスできません。
リクエストのサブドメインに基づいて、追加のパス (現在のリクエストのみ) を追加できるようにしたいと考えています。
私のアプリケーション固有の詳細
基本的なCMSアプリです。ルートdomain.com
ホストは、標準のコントローラー/ビュー レンダリングとデフォルトのアセット パスを使用して管理部分を処理します。
subdomain.domain.com
に基づいてサイトをレンダリングするリクエストsubdomain
。を呼び出しprepend_view_path
て、現在のリクエストのみbefore_filter
を追加 します。Rails.root.join('vendor/sites/[subdomain]/templates')
リクエストRails.root.join('vendor/sites/[subdomain]/assets')
ホストが[subdomain].domain.com
.
編集
callメソッドSprockets::Environment
を上書きするためのミックスインをドロップするだけになりました。
module SiteAssetsResolver
def call(env)
begin
# prepend path based on subdomain (from env)
super # Sprockets::Server#call
ensure
# remove path based on subdomain
end
end
end
MyApp::Application.assets.extend(SiteAssetsResolver)