2012-04-25 45 views
7

我最近在asset pipeline上寫了一篇博客文章,並瞭解到文件夾lib/assets應該包含在資產路徑列表中。如果我使用3.2.2創建全新的Rails應用程序,請運行控制檯,然後運行命令y Rails.application.config.assets.paths我沒有看到lib/assets。這不應該包括在默認情況下?爲什麼Rails 3.2.2的新應用程序不包含資產路徑中的庫/資產?

這裏是我如何到達那裏:

$ 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 
>> 

任何幫助將不勝感激。

+0

對於那些感興趣的人,[這裏是導軌指南的相關部分](http://guides.rubyonrails.org/asset_pipeline.html#asset-organization)。 – 2012-04-25 15:04:28

+0

可能是一個設計決定?保持路徑數量最小。也許設計師認爲lib/assets不會被使用,除非應用程序開發人員將他自己的代碼放在/ lib中,所以他必須啓用/ lib基礎資源? lib/vendor是默認的,因爲那是寶石開發人員通常會把它們放入其中的地方。只是猜測 – RadBrad 2012-04-25 15:08:26

+0

Rails中的源代碼可以在https://github.com/rails/rails/blob/master/railties/lib/rails/engine.rb#L574找到。他們似乎並沒有排除它。 – cavneb 2012-04-25 20:07:42

回答

3

我沒有在這臺電腦上安裝Rails,但從源參考看起來像lib/assets永遠不會被包括在內,但是任何子路徑都可以。

嘗試創建lib/assets/javascripts並查看它是否自動包含。

1

你有任何lib文件夾中的任何東西?我在lib/assets/javascripts文件夾中有一個js文件,當我檢查我的資產路徑時,僅顯示一條路徑,即lib/assets/javascripts /,但不顯示lib/assets/images或lib/assets/stylesheets ,因爲我沒有創建這些文件夾。

我在Rails 3.2.3上。

0

我遇到了同樣的問題,在軌道上3.2 你必須把你的腳本到該文件夾​​ 「資產/ JavaScript的」 ,他們將得到包括在內,否則不是。

0

您在lib/assets下創建的任何子文件夾(不只是stylesheets/images/javascripts)將被添加到加載路徑中。

使用rails 3.2.11測試。

使用「rails c」並鍵入「y Rails.application.config.assets.paths」來驗證資產路徑。

我想它與供應商/資產和應用/資產一樣,但我沒有證實。

1

我有同樣的問題。

將至少一個文件,例如lib/assets/javascripts,然後重新啓動您的應用程序。

現在rails cRails.application.config.assets.paths應該包含lib/assets/javascripts

相關問題