首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >结合使用Ruby on Rails、jQuery、AJAX和Embedly API

结合使用Ruby on Rails、jQuery、AJAX和Embedly API
EN

Stack Overflow用户
提问于 2011-03-13 14:23:12
回答 1查看 1.1K关注 0票数 2

我很难理解如何组合使用所有这些语言/服务: Ruby on Rails、jQuery、AJAX和Embedly API

本质上,我想要建立的是一个应用程序,允许用户输入一个视频网址到文本字段,然后使用嵌入式jQuery api来检索缩略图,并返回它与ajax。然后,当用户单击缩略图时,缩略图隐藏,嵌入的视频出现。

下面是我的application.js文件中的代码。据我所知,此代码将视频嵌入到#video_div元素中。此外,我不确定是否可以在application.js文件中使用@video.video_url变量:

代码语言:javascript
复制
$(document).ready(function() {

$.embedly('#{@video.video_url}',
           {maxWidth: 600,
               elems: $('#video_div'),
             success: function(oembed, dict){
                        alert(oembed.title);
                      });
      });

下面是与新操作相对应的new视图。它包括用户提交链接的表单,以及应该嵌入视频的id为video_id的div。

代码语言:javascript
复制
<%= 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文件?如果是这样,那么这个文件中应该包含什么内容?如果我应该发布更多的代码,请让我知道。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-13 16:51:53

不,您没有访问javascript文件中的@video.video_url的权限。这是一个客户端文件。

要像这样访问它,您需要使用rails erb (或haml等)模板引擎,它操作服务器端。

选项:

  1. 将所有javascript代码移动到.erb文件中以使用#{@video.video_url}直接
  2. 在加载javascript函数

时传递有关视频地址的信息

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5287864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档