Rails 3.2 / Heroku问题 - 预先编译.mp4视频在公共/视频中
-
11-12-2019 - |
题
在这里rails新的: 我有一个Rails应用程序,我想使用HTML5视频标签在页面上或两个页面上放置视频。我目前正在使用Rails 3.2和Heroku的Cedar Stack部署我的应用程序。在将我的应用部署到Heroku时,我正在运行到一个问题。
我已将我的.mp4视频放在 public / video ,以及运行Rails的本地服务器时,一切都很好。
但是,当我部署到Heroku时,包含这些视频的页面不加载,即“我们很抱歉,但出现问题”。
检查日志
.
heroku logs
显示此错误
.
ActionView::Template::Error (car_circle.mp4 isn't precompiled)
这不是令人惊讶的,因为似乎公共文件夹不包括在Rails 3.2资产管道中,因此在没有预编译的所有内容。
如果我的推理在这里是正确的,我想知道如何在我的资产管道中获取包含的公共/视频,以便这些视频可以预编译。或者,如果我不应该拥有这些视频/公众,那么如何正确将它们转移到资产管道中的一些指导也会很大。
希望我为大家提供足够的信息来给我一只手。谢谢。
解决方案
添加
config.assets.paths << "#{Rails.root}/public/videos"
.
config / application.rb 允许将文件夹/公共/视频添加到资产管道中。这允许页面上的视频加载,但是,页面仍然无法正确加载视频。
这将该路径附加到资产管道。可以通过打开轨道控制台和键入来查看资产管道中的路径:
.
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"]