这里的新手: 我有一个rails应用程序,我想使用html5视频标签在一两页上放置视频。我目前正在使用Rails 3.2和Heroku的雪松堆来部署我的应用程序。我将我的应用程序部署到Heroku时遇到了问题。
我已将我的.mp4视频放在公开/视频中,当运行rails的本地服务器时,一切正常。
然而,当我部署到heroku时,包含这些视频的页面不会加载,即“我们很抱歉,但出了点问题”。 检查日志
heroku logs
显示此错误
ActionView::Template::Error (car_circle.mp4 isn't precompiled)
这并不太令人惊讶,因为看起来公共文件夹不包含在rails 3.2资产管道中,因此其中的所有内容都没有预先编译。
如果我的推理是正确的,我想知道如何在我的资产管道中包含公开/视频,以便可以预编译这些视频。或者,如果我不应该公开这些视频,那么关于如何将它们正确地移动到资产管道中的一些指导也会很好。
希望我已经为你们提供了足够的信息来帮助我。感谢。
答案 0 :(得分:1)
添加
config.assets.paths << "#{Rails.root}/public/videos"
到 config / application.rb 允许将文件夹/ public / 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"]