2011-11-11 72 views
1

在我的應用我有後續行Rails的資產編譯個文件名

<%= stylesheet_link_tag "global.css", "pop_div.css", "log_in.css.erb" %> 

log_in.css.erb是一個簡單的CSS與線之一有

background: url(<%= asset_path 'LightBg.png' %>); 

後看源它變成

background: url(/assets/LightBg.png); 

我猜想是正確的,因爲該網站的作品。

我的困惑是:

1 - 它爲什麼給一個網址爲/assets/lightbg.png而在公共/資產目錄中的文件實際上是所謂LightBg-47c90e283c305c002f6973edf4054002.png

2-爲什麼在頁面的源代碼我看到

< link href="/assets/log_in.css.erb?body=1" media="screen" rel="stylesheet" type="text/css" /> 

,而不是log_in-447fd7902dbf635bf4231025699ce36a.css這是在公共/資產的文件名。

不應該編譯過程將log_in.css.erb的調用轉到log_in.css?

感謝

回答

2

散列只爲生產允許,在發展中仍然出現普通文件名。如果您需要其他樣式表和JavaScript,而不是application.js和application.css,則需要將config.assets.precompile設置爲config/environments/production.rb。我不確定,如果你仍然可以通過stylesheet_link_tag幾個樣式表。但通常你希望所有的JavaScript和樣式表都被編譯成一個文件(application.js和application.css)。

+0

我會檢查生產並回報 –