【问题标题】:Rails 3.2/Heroku issue - Precompiling .mp4 videos in public/videosRails 3.2/Heroku 问题 - 在公共/视频中预编译 .mp4 视频
【发布时间】:2012-09-21 20:56:02
【问题描述】:

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

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

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

heroku logs

显示此错误

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

这并不奇怪,因为似乎公用文件夹不包含在 rails 3.2 资产管道中,因此其中的所有内容都没有得到预编译。

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

希望我已经为大家提供了足够的信息来帮助我。谢谢。

【问题讨论】:

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


    【解决方案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"]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-25
      • 1970-01-01
      • 1970-01-01
      • 2011-11-17
      相关资源
      最近更新 更多