the rails present precompiling not images failed asset ruby-on-rails asset-pipeline

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?