ホロライブの桃鈴ねねさんが大好きです。
なので、Webページに全てのアーカイブを表示したいと思います。
※あらかじめテーブルに全てのアーカイブ情報を取得してます。
app/controllers/archive_controller.rb
class ArchiveController < ApplicationController
def index
@archive = Archive.all
end
end
これで@archiveにあらかじめarchivesテーブルに登録しておいた情報を格納します。
app/views/archive/index.html.erb
<%= render partial: "archive" , collection: @archive %>
renderメソッドを使うことで、@archiveというインスタンス変数を_archive.html.erbでも使用できます。
更にオプションでcollectionを使用することで、@archiveに格納されている全ての情報を使用できます。
app/views/archive/_archive.html.erb
<div class="card">
<%= link_to "#{archive.archiveurl}" do %>
<%= image_tag (archive.archiveimg) %>
<% end %>
</div>
この辺のビューは調整が必要ですが、簡単にやればこんな感じ。
archiveimgにはサムネイルの画像URLが格納されています。
archiveurlには動画のURLが格納されています。
ポイントはrenderメソッドを使用することと、collectionというオプションを使用すること、partialを使用することで、一つのファイルの記述量を減らすことが出来ます。
とりあえずこれで、動画情報を全て表示する、という目標が達成できました。