1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

投稿詳細ページ(show)と投稿一覧ページ(index)の作成まとめ

Posted at

#投稿詳細ページの作成
STEP1
ルーティングにget "posts/:id => "posts#show" を記述。
※posts/〇〇すべてを読み込むので注意が必要。下に位置させる。

STEP2
コントローラにshowアクションを作成し、
def show
@post = Post.find_by(id:params[:id])を記述。
end
※paramsでルーティングで指定したidを取得している。
※paramsはハッシュなので、params[:id]とすることで、id番号だけ取り出せる。
※find_byメソッドで(第一引数:指定したいカラム 第二引数:〇〇)を指定し、変数に代入。idカラム以外も指定可能。

STEP3
ビューに、<%= @post.content %> <%= @post.created_at %>と記述で表示。
image.png

#投稿一覧ページの作成
STEP1
postsコントローラのindexアクション内の@postsに、Post.allで取得したデータを代入しましょう。
def index
@posts = Post.all
end

ビューでは@postsに代入されている配列データをeach文で1つずつ変数postに代入し、投稿内容を繰り返し表示させていきましょう。

<% @posts each do |post| %> <%= post.content %>

image.png

STEP2
各投稿の内容の部分をクリックすると詳細ページに移動できるように、link_to(post.content, "/posts/#{post.id}")とします。
image.png

1
4
1

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
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?