【发布时间】:2011-07-14 08:35:14
【问题描述】:
我无法理解如何浏览所有这些语言/服务的组合:Ruby on Rails、jQuery、AJAX 和 Embedly API
基本上我想要构建的是一个应用程序,它允许用户将视频 url 输入到文本字段中,然后使用 embedly-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 文件?如果是这样,这个文件应该包含什么?如果我应该发布更多代码,请告诉我。
【问题讨论】:
标签: jquery ruby-on-rails ruby ajax embed