Recientemente escribí una publicación de blog en el asset pipeline y descubrí que la carpeta lib/assets
debería incluirse en la lista de rutas de activos. Si creo una nueva aplicación Rails usando 3.2.2, ejecuto la consola y luego ejecuto el comando y Rails.application.config.assets.paths
No veo lib/assets. ¿No debería incluirse esto por defecto?¿Por qué la nueva aplicación Rails 3.2.2 no incluye lib/assets en las rutas de los activos?
Así es como llegué allí:
$ rails new example
$ cd example
$ rails c
>> y Rails.application.config.assets.paths
---
- /Users/eberry/Playground/example/app/assets/images
- /Users/eberry/Playground/example/app/assets/javascripts
- /Users/eberry/Playground/example/app/assets/stylesheets
- /Users/eberry/Playground/example/vendor/assets/javascripts
- /Users/eberry/Playground/example/vendor/assets/stylesheets
- /Users/eberry/.rvm/gems/ruby-1.9.2-p290/gems/jquery-rails-2.0.2/vendor/assets/javascripts
- /Users/eberry/.rvm/gems/ruby-1.9.2-p290/gems/coffee-rails-3.2.2/lib/assets/javascripts
=> nil
>>
Cualquier ayuda sería muy apreciada.
Para aquellos interesados, [aquí está la parte relevante de la guía de rieles] (http://guides.rubyonrails.org/asset_pipeline.html#asset-organization). –
podría ser una decisión de diseño? para mantener el número de caminos al mínimo. Tal vez los diseñadores consideraron que los recursos de lib/no se usarían a menos que el desarrollador de la aplicación pusiera algo de su propio código en/lib, entonces tendría que habilitar los activos basados en/lib. lib/vendor está ahí de forma predeterminada porque allí es donde los desarrolladores de gemas normalmente pondrían sus cosas. Solo una conjetura – RadBrad
El código fuente en Rails se puede encontrar en https://github.com/rails/rails/blob/master/railties/lib/rails/engine.rb#L574. No parece que lo hayan excluido. – cavneb