URI 不匹配 Rails 在生产中的资产 URL 中生成 MD5 摘要,但控制器 GET 是非 MD5 URL



我有一个Rails应用程序,它有一两个页面,使用html5视频标签和相应的Rails video_tag()方法在页面上显示视频。

我添加了

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

到视图中的html.erb文件。

Rails 3.2在/public目录中查找视频,因此我将视频添加到了一个名为public/videos的文件夹中。

为了将此文件夹添加到资产管道,我将此行添加到application.rb

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

这部分起作用。视频资产确实是预编译的,而包含视频的页面实际上是加载的。然而,视频本身并没有。这是因为,虽然视频可以在其各自的URL上观看,例如/videos/car_circle.mp4,但视频应加载的页面上视频的URI为/videos/cal_circle-4e5f6739c10827a6fc3d479d1ac5c275.mp4

这是Rails在生产中添加到URI中的MD5摘要。我需要我的视频URI来匹配视频所在页面上的摘要URI。

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

config.assets.digest = true

为false。然而,这是不推荐的,它使我的应用程序崩溃无论如何。

关于如何正确处理我的资产,有什么建议吗?显然,这只是生产中的一个问题,而生产是Rails默认使用摘要URI的唯一地方。非常感谢。

尝试使用如下的纯html元素声明:

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

即使是.erb文件仍然会接受纯html声明,该声明应该不受Rails的任何更改。

使用纯html作为视频标签也对我有用。

我将视频文件保存在公共/视频中

并将html引用为

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

这对我来说很好。

最新更新