URI不匹配的Rails生成MD5摘要在生产资产URL,但控制器GET是一个非MD5网址(URI m

2019-11-01 03:05发布

我有一个页面或两个使用HTML5视频标签一个Rails应用程序,以及相应的滑轨video_tag()方法来在页面上显示视频。

我已经添加

<%= video_tag "car_circle.mp4", width: "640", height: "500", controls: true %>

在意见html.erb文件。

Rails的3.2查找在/ public目录中的视频,所以我已经添加了我的视频,一个名为公共/视频文件夹中。

为了这个文件夹添加到资产的管道,我加入这一行application.rb中

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

这部分工作。 视频资产做预编译,并与他们视频的网页实际上负荷做。 然而,视频本身没有。 这是由于这样的事实,虽然视频可以在各自的网址进行查看,例如/videos/car_circle.mp4,其中视频应该加载页面上的视频的URI是/videos/car_circle-4e5f6739c10827a6fc3d479d1ac5c275.mp4

这是MD5摘要Rails添加到URI的生产。 我需要我的视频URI到视频所在的页面,对符合digest'ed URI。

到目前为止,我已经尝试通过设置来禁用消化

 config.assets.digest = true

为false。 但是不推荐这样做,它使我的应用程序崩溃进不去。

如何让我的资产有什么建议正确GET'ed? 显然,这仅仅是在生产中的问题,这是只有在Rails使用digest'ed URI的默认位置。 非常感激。

Answer 1:

尝试使用普通的HTML元素声明如下:

<video width="640" height="500" control="controls">
    <source src="../../../public/videos/car_circle.mp4" type="video/mp4">
</video>

即使.erb文件仍将接受纯HTML的声明,应该是从任何Rails的涂改。



Answer 2:

对于视频标签使用纯HTML也为我工作。

我不停地在公共/视频的视频文件

和引用的HTML作为

<video autoplay="autoplay" loop="loop" src="/videos/test.mp4">

这对我来说工作得很好。



文章来源: URI mismatch Rails generates MD5 digest in asset URL in production, but controller GET's a non-MD5 URL