gpt4 book ai didi

ruby-on-rails - 如何使用Oembed使用RoR嵌入youtube缩略图/标题索引页面

转载 作者:行者123 更新时间:2023-12-03 06:22:27 25 4
gpt4 key购买 nike

我对使用ruby还是很陌生,希望能得到一些帮助。
我已经能够弄清楚如何将youtube剪辑嵌入到我的显示页面中并显示标题

显示 View

#video_show
%h1= @youtube.title.html_safe
%p.username
Shared by
= @video.user.name
about
= time_ago_in_words(@video.created_at)
.clearfix
.video_image_show
= @youtube.html.html_safe

视频 Controller
def index
@videos = Video.all.order("created_at DESC").paginate(page: params[:page], per_page: 20)
@video.link = Video.find(params[:id])
@youtube = OEmbed::Providers::Youtube.get(@video.link)


end

def show
@infos = Info.where(video_id: @video)
@comments = Comment.where(video_id: @video)
@random_video = Video.where.not(id: @Video).order("RANDOM()").first
@youtube = OEmbed::Providers::Youtube.get(@video.link)
end

但是接下来要在索引页中显示Thumbnail和title,这告诉我我有一个未定义的方法,例如'title'。

索引 View
- @videos.each do |video|
.Video
.Video_image
= image_tag @youtube.thumbnail_url.html_safe, video
.Video_content
.title
%h2= @youtube.title.html_safe, video
.data.clearfix
%p.username
Shared by
= video.user.name

无论如何,我可以将视频ID链接到索引页面,以使Oembed显示@youtube = OEmbed::Providers::Youtube.get(@ video.link)缩略图和标题吗?

提前非常感谢

最佳答案

您无法在 Controller 的index方法中设置@youtube,因为此时您有一组视频。您需要的是这样的:

在您的 Controller 中

def index
@videos = Video.all.order("created_at DESC").paginate(page: params[:page], per_page: 20)
end

并在您的HAML View 中
- @videos.each do |video|
- youtube = OEmbed::Providers::Youtube.get(video.link)
.Video
.Video_image
= image_tag youtube.thumbnail_url.html_safe, video
.Video_content
.title
%h2= youtube.title.html_safe, video
.data.clearfix
%p.username
Shared by
= video.user.name

关于ruby-on-rails - 如何使用Oembed使用RoR嵌入youtube缩略图/标题索引页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32357309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com