LoginSignup
0
1

More than 1 year has passed since last update.

index.html.erbに全ての投稿を表示させる方法 Rails

Posted at

ホロライブの桃鈴ねねさんが大好きです。
なので、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を使用することで、一つのファイルの記述量を減らすことが出来ます。
とりあえずこれで、動画情報を全て表示する、という目標が達成できました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1