Recentemente ho scritto un post sul blog asset pipeline e ho appreso che la cartella lib/assets
deve essere inclusa nell'elenco dei percorsi delle risorse. Se creo una nuovissima app Rails usando la 3.2.2, avvia la console e poi eseguo il comando y Rails.application.config.assets.paths
Non vedo lib/assets. Non dovrebbe essere incluso di default?Perché una nuova applicazione di Rails 3.2.2 non include lib/assets nei percorsi degli asset?
Ecco come sono arrivato:
$ 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
>>
Qualsiasi aiuto sarebbe molto apprezzato.
Per gli interessati, [qui è la parte pertinente della guida dei binari] (http://guides.rubyonrails.org/asset_pipeline.html#asset-organization). –
potrebbe essere una decisione di progettazione? per mantenere il numero di percorsi al minimo. Forse i progettisti ritenevano che lib/assets non sarebbero stati usati a meno che lo sviluppatore dell'applicazione non inserisse parte del proprio codice in/lib, quindi avrebbe dovuto abilitare le risorse basate su/lib? lib/vendor è lì per impostazione predefinita perché è lì che gli sviluppatori gem normalmente inseriscono le loro cose. Un'indagine – RadBrad
Il codice sorgente in Rails è disponibile all'indirizzo https://github.com/rails/rails/blob/master/railties/lib/rails/engine.rb#L574. Non sembra che l'abbiano escluso. – cavneb