17

Rails 3.1的發佈版本在預編譯具有擴展scss的sass清單文件時出現了一些奇怪的問題。奇怪的是,默認清單文件application.scss編譯得很好,我在public/assets/下看到它。使用Rails 3.1的資產管道預編譯.scss清單文件

但是,當我嘗試編譯我的自定義清單文件時,什麼也沒有創建。我已經在生產配置中啓用了預編譯選項。

config.assets.precompile += %w(user.scss admin.scss) 

我按照我所知的正確運行預編譯rake任務。

rake assets:precompile RAILS_ENV=production 

也許這有助於。當我創建兩個新的清單文件,其擴展名爲css而不是scss並且需要它們中的原始scss文件時,這些新的清單文件纔會被正確編譯。爲什麼application.scss得到這種特殊待遇,而不是其他sass清單文件?

+0

好問題,希望我知道答案。 – Andrew

+0

任何理由不接受下面的答案? – tee

+0

不是,只是因爲我已經轉向其他事情,所以我沒有測試過您的解決方案。 – Anurag

回答

27

包括在你的預編譯列表中編譯文件名:

config.assets.precompile += %w(user.css admin.css) 

此外,您可能要到原來的文件app/assets/stylesheets重命名爲包括在原文件名編譯擴展,使很清楚是怎麼回事上:

user.scss -> user.css.scss 
admin.scss -> admin.css.scss 
+0

好工作!謝謝 – abhijit

-2

我懷疑這可能是錯誤。

application文件被視爲默認項目的主要文件。以.css和.js結尾的文件默認包含在預編譯列表中。

您描述的行爲(體現具有.css擴展名)是正確的行爲。

相關問題