※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。
CRUD(クラッド)とは
Create・Read・Update・Delete のこと
Webアプリケーションの基本的な機能をすべて備えているものを「CRUDアプリ」という
Read
「Read」(GETリクエスト)の例
- すべての記事を表示する
- 特定の記事を表示する 等
【前提】ブログなどの記事には、ひとつずつ固有idが付与されている
そのため「URL.◯◯.◯◯/1」など、idを指定すると特定の記事を取得することができる
今回、実装したいこと
showアクション:特定の記事(詳細ページ)を表示させる
warp(ターミナル)で$ rails c
を実行してコンソール画面を立ち上げる
$ Article.find(1)
で記事のidを指定すると、記事を探してくる
Article.find(1)
#<
Article id: 1,
title: "title",
content: "ブログだよ!!",
created_at: "2024-08-10 05:14:56",
updated_at: "2024-08-10 05:14:56"
>
↓ 探してきた記事をarticle
に代入して、.id
を確認するとちゃんと「1」である
article = Article.find(1)
article.id
1
「resources
」は、いろんなurlを用意してくれるrubyのツール
VScodeのroutes.rbにresources :articles
を入力する
「http://localhost:3000/rails/info/routes」にurlがたくさん生まれている
showのアクションだけ作れたらいいので、以下を入力する
resources :articles, only: [:show]
↓ showのurlができている
特定の記事を探してくる
- paramsはパラメーターのこと
- [:id]で、現在表示しているurl末尾の「:id」を取得
- 該当idの記事をArticleから探してくる
探してきた記事を「@article
」に代入する
def show
@article = Article.find(params[:id])
end
↓ これを参考にリンクを作る
「/articles/:id」の「:id」は、「article.id」を指定する
<%= link_to article_path(id: article.id) do %>
<% end %>
ただ上記のように書く人は少なく、一般的には以下のように省略して書かれる
<%= link_to article_path(article) do %>
<% end %>
(id: article.id)
でも(article)
でも、同じ働きをする
#DAY10