Rails 3.2 / Heroku issue - 在公共/视频中预编译.mp4视频

时间:2012-09-30 23:21:13

标签: heroku ruby-on-rails-3.2 html5-video precompile

这里的新手: 我有一个rails应用程序,我想使用html5视频标签在一两页上放置视频。我目前正在使用Rails 3.2和Heroku的雪松堆来部署我的应用程序。我将我的应用程序部署到Heroku时遇到了问题。

我已将我的.mp4视频放在公开/视频中,当运行rails的本地服务器时,一切正常。

然而,当我部署到heroku时,包含这些视频的页面不会加载,即“我们很抱歉,但出了点问题”。 检查日志

heroku logs

显示此错误

ActionView::Template::Error (car_circle.mp4 isn't precompiled)

这并不太令人惊讶,因为看起来公共文件夹不包含在rails 3.2资产管道中,因此其中的所有内容都没有预先编译。

如果我的推理是正确的,我想知道如何在我的资产管道中包含公开/视频,以便可以预编译这些视频。或者,如果我不应该公开这些视频,那么关于如何将它们正确地移动到资产管道中的一些指导也会很好。

希望我已经为你们提供了足够的信息来帮助我。感谢。

1 个答案:

答案 0 :(得分:1)

添加

config.assets.paths << "#{Rails.root}/public/videos"

config / application.rb 允许将文件夹/ p​​ublic / videos添加到资产管道。这样就可以加载包含视频的页面,但页面仍然无法正确加载视频。

这附加了资产管道的路径。可以通过打开rails控制台并键入以下内容来查看资产管道中的路径:

Rails.application.config.assets.paths

您可能会遇到这样的列表:

 => ["/Users/someuser/Documents/Rails/some_app/app/assets/images", 
"/Users/someuser/Documents/some_app/app/assets/javascripts",...,
/Users/someuser/Documents/some_app/public/videos"]