我很难理解如何组合使用所有这些语言/服务: Ruby on Rails、jQuery、AJAX和Embedly API
本质上,我想要建立的是一个应用程序,允许用户输入一个视频网址到文本字段,然后使用嵌入式jQuery api来检索缩略图,并返回它与ajax。然后,当用户单击缩略图时,缩略图隐藏,嵌入的视频出现。
下面是我的application.js文件中的代码。据我所知,此代码将视频嵌入到#video_div元素中。此外,我不确定是否可以在application.js文件中使用@video.video_url变量:
$(document).ready(function() {
$.embedly('#{@video.video_url}',
{maxWidth: 600,
elems: $('#video_div'),
success: function(oembed, dict){
alert(oembed.title);
});
});下面是与新操作相对应的new视图。它包括用户提交链接的表单,以及应该嵌入视频的id为video_id的div。
<%= form_for(@video) do |f| %>
<% if @video.errors.any? %>
<div id="errorExplanation">
<h2><%= pluralize(@video.errors.count, "error") %> prohibited this video from being saved:</h2>
<ul>
<% @video.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :video_url %><br />
<%= f.text_field :video_url %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
<div id="video_div"></div>但是,视频并未嵌入。为什么会这样呢?我是否需要在视频控制器的create方法中添加类似format.js的内容,然后添加一个create.js.erb文件?如果是这样,那么这个文件中应该包含什么内容?如果我应该发布更多的代码,请让我知道。
发布于 2011-03-13 16:51:53
不,您没有访问javascript文件中的@video.video_url的权限。这是一个客户端文件。
要像这样访问它,您需要使用rails erb (或haml等)模板引擎,它操作服务器端。
选项:
时传递有关视频地址的信息
https://stackoverflow.com/questions/5287864
复制相似问题