Javascript 通过AJAX一次加载两个视频

Javascript 通过AJAX一次加载两个视频,javascript,jquery,ruby-on-rails,ajax,ruby-on-rails-3,Javascript,Jquery,Ruby On Rails,Ajax,Ruby On Rails 3,我有一个运行在rails 3.1中的应用程序,其中一个页面显示嵌入式视频。我只想一次显示两个,并且有一个AJAX选项来加载更多视频而不刷新页面。或多或少地了解常规评论系统的工作原理,例如youtube查看下一条评论和查看上一条评论的选项 我很难在通过AJAX加载放置它们的部分时获得适当的视频来显示。我想这归结起来的一般问题是如何通过AJAX将参数传递给partials。我尝试过各种方法,但似乎都没能奏效 _录像带 <% for video in @videos %> <p>

我有一个运行在rails 3.1中的应用程序,其中一个页面显示嵌入式视频。我只想一次显示两个,并且有一个AJAX选项来加载更多视频而不刷新页面。或多或少地了解常规评论系统的工作原理,例如youtube查看下一条评论和查看上一条评论的选项

我很难在通过AJAX加载放置它们的部分时获得适当的视频来显示。我想这归结起来的一般问题是如何通过AJAX将参数传递给partials。我尝试过各种方法,但似乎都没能奏效

_录像带

<% for video in @videos %>
<p> Video #1 </p>
<%= raw youtube_embed(video.video_link) %> <%# outputs regular html, youtube_embed is a module helper %>    
<% end %>
<p> testing </p>

我想一次播放两个视频。我想通过一个计数器来实现这一点,该计数器与@videos一起传递给partial。实现这样的事情的最佳方式是什么?我走错方向了吗?此外,我还读到了一些相互矛盾的论点,这些论点是你无法获取或发布的。如果有人能解释一下,我们将不胜感激。提前谢谢。

在你的部分视频中,你应该这样写

<% for video in videos %>
<p> Video #1 </p>
<%= raw youtube_embed(video.video_link) %> <%# outputs regular html, youtube_embed is a module helper %>    
<% end %>
<p> testing </p>

视频#1

测试


注意视频而不是@videos,因为您正在以本地方式传递它

我发现实现这一点的最佳方法是使用会话变量来跟踪AJAX请求之间显示的当前视频。

它实际上是双向的,因为实例变量会自动传递到分部,而我正在分配变量视频到我的javascript中的“@videos”。通过js传递本地人是不必要的,如果你把它去掉,那么“@videos”是唯一有效的方法。
def next_videos
@videos = Video.find_all_by_id('1')
respond_to do |format|
  format.html { redirect_to(root_path, :notice => 'Error') }
  format.js # the actual ajax call
end
end
<% for video in videos %>
<p> Video #1 </p>
<%= raw youtube_embed(video.video_link) %> <%# outputs regular html, youtube_embed is a module helper %>    
<% end %>
<p> testing </p>