Rails Asset Pipeline ガイドではconfig.assets.pathsinを使用するように指示され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)