test.mp3未在rails应用程序中预编译

时间:2012-08-12 10:24:41

标签: ruby-on-rails ruby-on-rails-3 heroku

我正在构建一个使用html5音频标签的网站。在我看来,我添加了<%audio_tag“test.mp3”,:controls => true%>这在开发中很有效。但是,当我将我的应用程序部署到Heroku并尝试访问它时,我在日志中收到此错误“ActionView :: Template :: Error(test.mp3 isnt precompiled)”

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

请尝试指定:

config.assets.compile = true

production.rb文件中。


另一个解决方案是在推送到heroku repo:

之前预编译您的资产
rake assets:precompile
git commit add .
git commit -a -m "Assets are precompiled"
git push heroku master

我现在无法测试它,但它应该可以工作。

答案 1 :(得分:0)

在生产中,存储在assets目录中的所有文件都是预编译的。当您使用rails标签帮助程序时,例如audio_tag,资产管道期望您的资产位于其中一个资产目录中。要使用它,您可以使用原始html标记:

<audio src="/audios/test.mp3" />

或将该文件放在app / assets目录中。 有关详细信息here