在Rails应用程序中使用bigvideo.js渲染背景

我有以下实现的bigvideo.js完全在我的Rails项目之外运行。

        var BV = new $.BigVideo(); BV.init(); if (Modernizr.touch) { BV.show('yay.jpg'); } else { BV.show('test.mp4',{ambient:true}); }  

但是,当我尝试将其转换为Rails时,它不会呈现图像或video。
– 我有资产/ javascripts中的所有javascript文件。 它们似乎正在拉动。
– Application.js不受影响,包括// = require_tree。
– 对于自定义JS(上面显示js代码的那个),我目前将它作为资产/ javascripts中的JS文件。 我已经尝试将相关的图像/video文件放在文件夹中,更改文件的url路径,并命名为.html.erb并使用ruby片段,但都没有成功。

如何使我的实施工作? 你可以在这里看到它在Rails之外工作。

我能够让BigVideo使用rails。 我不确定这是否是最理想的解决方案,但如果你给video的完整url(通过类似<%= request.protocol + request.host_with_port + asset_path('main-video.mp4') %> )它将加载到页面上。

所以我最终使用的代码是:

  

我已经设置了一个示例应用程序,您可以查看。 它位于这里(注意:我试图保持对你的onepager示例有点忠诚,但它并不完全相同):

http://bigvideo.herokuapp.com/

您还可以在此处查看我用于创建它的代码:

https://github.com/scouttyg/bigvideo-example

我还做了一些有趣的事情,比如将video放在自己的目录(资产/video)中,并将预编译的路径添加到application.rb中。

我认为这个想法一般来说,你应该将BigVideo与CDN一起使用,而不是从rails app本身提供它 – 类似于为什么在rails中建议卸载文件上传到S3等等。

如果js正常工作,你的文件会正确呈现,以防你将它们放入app/assets/images目录并将它们包含在js中,如下所示

 BV.show('assets/yay.jpg'); } else { BV.show('assets/test.mp4',{ambient:true}); 

其他方式:

将这些(必需的)代码行添加到application.html.erb文件中:

    

然后是上面包含的代码Scott

  

…然后最终决定以更好的方式做到这一点,因为这将使事情起作用。