在这里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"]
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top