我有一个在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