Ruby on rails test.mp3未在rails应用程序中预编译
我正在建立一个使用html5音频标签的网站。在我看来,我已经添加了true%>,这在开发中非常有效。但是,当我将我的应用部署到Heroku并尝试访问它时,我在日志“ActionView::Template::error(test.mp3未预编译)”中发现此错误Ruby on rails test.mp3未在rails应用程序中预编译,ruby-on-rails,ruby-on-rails-3,heroku,Ruby On Rails,Ruby On Rails 3,Heroku,我正在建立一个使用html5音频标签的网站。在我看来,我已经添加了true%>,这在开发中非常有效。但是,当我将我的应用部署到Heroku并尝试访问它时,我在日志“ActionView::Template::error(test.mp3未预编译)”中发现此错误 如何解决此问题?请尝试指定: config.assets.compile = true 在production.rb文件中 另一个解决方案是在推送到herokurepo之前对资产进行预编译: rake assets:precompil
如何解决此问题?请尝试指定:
config.assets.compile = true
在production.rb
文件中
另一个解决方案是在推送到herokurepo之前对资产进行预编译:
rake assets:precompile
git commit add .
git commit -a -m "Assets are precompiled"
git push heroku master
我现在无法测试它,但它应该可以工作。在生产环境中,存储在assets目录中的所有文件都是预编译的。当您使用rails标记帮助程序(如audio_tag asset pipeline)时,管道希望您的资产位于其中一个资产目录中。要使用它,您可以使用原始html标记:
<audio src="/audios/test.mp3" />
此文件在您的应用程序结构中的位置?这是可行的,但我想知道这是否是唯一的出路,因为rails guides文档声明-->“此模式使用更多内存,性能比默认模式更差,不推荐使用。”@General_9我在回答中又添加了一种方法。请禁用config.assets.compile
并检查它。