ruby on rails - rails - ¿Agregar carpeta a la ruta de la tubería de activos?
the asset is not present in the asset pipeline (1)
Pude hacerlo en la aplicación.rb:
require "#{Rails.root}/app/models/settings.rb"
config.assets.paths << "#{Rails.root}/app/themes/#{Settings.theme}/assets/stylesheets"
config.assets.paths << "#{Rails.root}/app/themes/#{Settings.theme}/assets/images"
config.assets.paths << "#{Rails.root}/app/themes/#{Settings.theme}/assets/javascripts"
Tenemos una aplicación de Rails que actualicé recientemente de Rails 3.0 a Rails 3.2. Esta aplicación sirve a múltiples clientes. Para personalizarlo para cada cliente, tenemos el directorio de app/themes
. En hay submódulos. Cada submódulo contiene elementos como locales/en.yml
, views/layouts
, views/controller_name
prepend_view_path
, etc. Usamos prepend_view_path
para agregar las vistas del tema y I18n.load_path
para agregar las configuraciones regionales. Estamos considerando usar el flujo de activos para que podamos mantener toda la mezcla de material del cliente fuera del directorio público y mantenerlo contenido en cada tema.
¿Hay alguna forma en la que pueda indicar dinámicamente a los rieles que carguen qué carpeta de tema / nombre de tema / activos quiero? Usamos la lógica de configuración para establecer qué tema está activo. Entonces, si tengo el tema configurado en "google", ApplicationController
carga los archivos de la ruta:
app/themes/google/locales/*.yml
app/themes/google/views
Lo que me gustaría poder hacer es tener el archivo de manifiesto,
app/themes/google/assets/stylesheets/application.css
Fácilmente accesible para el diseño, como lo haría en un archivo de app/views/layouts
:
= stylesheet_link_tag "application"
¿Hay alguna manera de que pueda hacer esto? ¿O necesitamos mover manualmente los activos al directorio de activos reales?