tag specific rails page ruby-on-rails-3.1 asset-pipeline

ruby on rails 3.1 - specific - Rails 3.1 precompilación de activos-incluye todos los archivos javascript



rails y jquery (3)

He modificado el ejemplo dado en la configuración de Rails config.assets.precompile para procesar todos los archivos CSS y JS en app / asset y aquí está mi versión, que toma todos los activos de / app y / vendor excepto los parciales (a partir de _)

config.assets.precompile << Proc.new { |path| if path =~ //.(css|js)/z/ full_path = Rails.application.assets.resolve(path).to_path app_assets_path = Rails.root.join(''app'', ''assets'').to_path vendor_assets_path = Rails.root.join(''vendor'', ''assets'').to_path if ((full_path.starts_with? app_assets_path) || (full_path.starts_with? vendor_assets_path)) && (!path.starts_with? ''_'') puts "/t" + full_path.slice(Rails.root.to_path.size..-1) true else false end else false end }

Quiero que Rails 3.1 recoja más de mis activos para la precompilación. En particular, el comparador predeterminado para compilar archivos no agrega archivos .js del vendor/assets/javascripts . Solo puedo agregar los recursos a la lista config.assets.precompile , pero esto parece molesto. No quiero referirme a ellos en el manifiesto application.js , porque no quiero que se incluyan en todas las páginas.

En resumen, ¿alguna forma de solicitar que todos los archivos .js que se encuentran en el vendor/assets/javascripts precompilados por los rake assets:precompile , pero sin tenerlos incluidos en todas las páginas?


config.assets.precompile acepta expresiones regulares y coincidencia de caracteres comodín, por lo que para garantizar que todos los archivos js se compilen, sin especificar cada uno de ellos por un nombre, algo como esto debería hacer el truco:

config.assets.precompile << ''*.js''


# Precompile *all* assets, except those that start with underscore config.assets.precompile << /(^[^_//]|//[^_])[^//]*$/

Consulte el Blog 55minutos para la explicación completa.

Esto precompilará cualquier activo, no solo JavaScript (.js, .coffee, .swf, .css, .scss)