Rails Asset Pipeline guide дает вам указание использовать config.assets.paths
в 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')
в пути поиска Sprockets, когда хост запроса [subdomain].domain.com
.
ИЗМЕНИТЬ
В итоге я просто сбросил mixin для 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)