我有一個在Heroku上運行的rails 4.1應用程序,我看到一個靜態資產問題。 每當我的應用程序請求任何非svg版本的字體資產(由font-awesome-rails寶石提供)時,它們都不會被提供。所有其他資產似乎服務良好。Rails 4.1在Heroku上不提供字體超讚的資產
> curl http://myapp.herokuapp.com/assets/fontawesome-webfont-701cf412b1cf188f7e15450446d7cd04.ttf
## gives 404 response even though the file exists in public/assets on heroku
> curl http://myapp.herokuapp.com/assets/fontawesome-webfont-4835d3d33b92d5c7c8c58149959d075d.svg
## gives 200 response and serves the file
看來,所有這些資產已成功預編譯,並存儲在public/assets
(下面是heroku bash
)。
$ ~/public/assets $ ls -l fontawesome-webfont-*
-rwx------ 1 u31786 31786 38205 2014-05-16 19:57 fontawesome-webfont-0c7d84c1c574b8bae138a7014e781a1c.eot
-rwx------ 1 u31786 31786 80652 2014-05-16 19:57 fontawesome-webfont-103111d81ddabc2cf4abea9d8a922fb8.ttf
-rwx------ 1 u31786 31786 202148 2014-05-16 19:57 fontawesome-webfont-1bc7b8f24d224d2cce2fdff63d829fb8.svg
-rwx------ 1 u31786 31786 253487 2014-07-04 02:17 fontawesome-webfont-434a869d64e7a46581d538486a8af044.svg
-rwx------ 1 u31786 31786 202148 2014-05-16 19:57 fontawesome-webfont-4835d3d33b92d5c7c8c58149959d075d.svg
-rwx------ 1 u31786 31786 44432 2014-05-16 19:57 fontawesome-webfont-4daf533148b5cd2067fa92a25d911a2b.woff
-rwx------ 1 u31786 31786 44432 2014-05-16 19:57 fontawesome-webfont-641588c6e43238bf5012415aa7d8f6c9.woff
-rwx------ 1 u31786 31786 141564 2014-07-04 02:17 fontawesome-webfont-701cf412b1cf188f7e15450446d7cd04.ttf
-rwx------ 1 u31786 31786 83760 2014-07-04 02:17 fontawesome-webfont-8613891d251955c3898dc19ee822a763.woff
-rwx------ 1 u31786 31786 72449 2014-07-04 02:17 fontawesome-webfont-97abc2bd68ee5cc83cf9f5386cfc7912.eot
-rwx------ 1 u31786 31786 38205 2014-05-16 19:57 fontawesome-webfont-b921a0d9014189177e286b16478a6680.eot
-rwx------ 1 u31786 31786 80652 2014-05-16 19:57 fontawesome-webfont-e21e874c038a38923c7e064e8606b135.ttf
好像我不應該需要的字體文件類型添加到config.assets.precompile
的建議here(我試過了,沒有幫助)。該資產似乎被預編譯成功,因爲它被放置到public/assets
,但不知何故不由Rails提供服務。
資產在public/assets
中如何以正確的權限存在,但不能通過Heroku上的Rails通過http獲得?是否有任何其他Rails配置設置會影響到這一點?
謝謝。
我在我的問題中提到資產正在成功編譯。默認情況下,Rails預編譯「application.js,application.css和所有非JS/CSS」(來自Rails自動生成的application.rb中的註釋) – stupakov 2014-09-26 06:07:43