【发布时间】:2012-02-20 18:24:27
【问题描述】:
我正在为 youtube 视频制作资源丰富的路线。因此,一个人只需将 youtube 嵌入链接粘贴到表单中。在控制器中,我有一组正常的足智多谋的操作:
class VideosController < ApplicationController
def index
@videos = Video.all
end
def new
@video = Video.new
end
def create
Video.create(params[:video])
redirect_to :action => :index
end
def destroy
Video.destroy(params[:id])
redirect_to :action => :index
end
end
在视图中我只是显示它:(在 Haml 中)
- @page_title = 'Video'
#videos
%ul
= list_of(@videos) do |video|
%h1= video.title
!= video.link
= link_to "Delete", video_path(video), :method => :delete
= link_to "Add new video", new_video_path
%p#top
= link_to 'Go to top ↑', '#'
对于不使用 Haml 的人,!= 会转义字符串。 video.link 保存 YouTube 嵌入代码
问题是,当我创建一个新视频并将我重定向回索引页面时,新创建的视频不显示(其他视频正常显示)。刷新页面后才正常显示。
我在网络检查器中看到iframe 中缺少src 属性(这就是不显示视频的原因)。但是当我查看页面源时,那里一切正常。所以,认为这可能是 Javascript 的错,我尝试禁用它。但什么都没有改变。
【问题讨论】:
-
您写了
And in the view I'm just displaying it.-- 仅此而已...请为您正在使用的 iframe 或 javascript 小部件添加视图代码 -
当您被重定向到#index 时,是否显示标题和/或删除链接?另外,是否有任何后台处理在创建记录后对其进行更新?
-
video.link是 iframe 代码吗?您仍然没有显示您正在使用的 iframe 代码...... -
显示所有链接。不,没有后台进程(只有一名管理员,所以我认为没有必要)。关于
video.link,是的,它包含一个YouTube 嵌入链接,例如<iframe width="640" height="360" src="http://www.youtube.com/embed/kWakZcEGB38" frameborder="0" allowfullscreen></iframe>
标签: ruby-on-rails iframe youtube embed