質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

iframe

HTMLのタグ<iframe>です。<iframe>は、ドキュメント内に""inline frame""を作るHTML要素で、同じページでセパレートしているドキュメントが表示されるようにします。

Q&A

0回答

930閲覧

動画一覧のそれぞれにお気に入り機能を実装したい

Petz

総合スコア7

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

iframe

HTMLのタグ<iframe>です。<iframe>は、ドキュメント内に""inline frame""を作るHTML要素で、同じページでセパレートしているドキュメントが表示されるようにします。

0グッド

0クリップ

投稿2020/06/05 12:01

初学者でrailsでアプリ制作をしており、最後に、
YouTubeから取ってきた動画を一覧表示しているものにお気に入りボタンを実装したいと考えております。

現在の実装段階は下記の通りになります。

youtube_controller.rb

1class YoutubeController < ApplicationController 2 before_action :logged_in_user, only: :songs 3 4 def home 5 end 6 7 def songs 8 require 'google/apis/youtube_v3' 9 youtube = Google::Apis::YoutubeV3::YouTubeService.new 10 youtube.key = "APIキー" 11 youtube_search_list = youtube.list_searches("id,snippet", type: "video", q: "black music funk soul", max_results: 30) 12 search_result = youtube_search_list.to_h 13 @movies = search_result[:items] 14 end 15 16 def about 17 end 18 19 def contact 20 end 21end

songs.html.erb

1<% provide(:title, "Songs") %> 2 3<h1>Check them out !!!</h1> 4 5<% @movies.each do |movie| %> 6 <div class="movies-item"> 7 <li> 8 <iframe width="300" height="200" src="https://www.youtube.com/embed/<%= movie[:id][:video_id] %>" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> 9 </li> 10 </div> 11<% end %>

今考えているのが、上記のビューで取得している

movie[:id][:video_id]

こちらをユーザーIDと紐付けてプロフィールページにお気に入り動画一覧を表示しようと考えております。

YouTubeから取得した動画でデータベースを構築するとできるとは思うのですが、
今後動画検索の検索ワードを変える可能性もあるので、
希望としてはビューのeachメソッド内でどうにか動画URLとユーザーIDを紐づけてお気に入りの『Likeモデル』にデータを保存していきたいです。

create_likes.rb

1class CreateLikes < ActiveRecord::Migration[5.2] 2 def change 3 create_table :likes do |t| 4 t.references :user, null:false 5 6 t.timestamps 7 end 8 end 9end

(動画のテーブルはないので、このようにユーザーIDのみを参照するようにしています。)

上記を実現するための方法をご教授いただきますと幸いです。
まだまだ知識がないため、そもそもの理解ができていない点が文脈で見られるかもしれませんが、
不明点があれば、お手数ですがご指摘のほどお願いいたします。

前提として、自分が今実装しようとしていることが不可能であれば、最善策もご提案いただきますと大変嬉しく思います。

何卒よろしくお願いいたします。

利用環境

macOS High Sierra ver.10.13.6
rails 5.2.3
ruby 2.6.3

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問