※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。
CRUD(クラッド)とは
Create・Read・Update・Delete のこと
Webアプリケーションの基本的な機能をすべて備えているものを「CRUDアプリ」という
Update
「Update」(PUTリクエスト)のアクションを編集する
- データを変更する
※ プットのことをパッチと呼ぶ人もいる 違いは特にない
今回、実装したいこと
editアクション:該当ページの編集ができるようにする
htmlに編集ボタンを作る
今回はドロップボタンで表示されるようにする
<div class="article_detail_actions">
<div class="dropdown">
<%= image_tag 'actions.svg', class: 'dropbtn' %>
<div class="dropdown-content mini">
<a href="#">編集する</a>
</div>
</div>
</div>
- warp画面で「
$ open .
」でフォルダ表示させる - 該当の画像ファイルを中にいれる
編集ページを作成する
config/routes.rbにコードを追加する
resources :articles, only: [:show, :new, :create, :edit]
editは「編集する」という意味(GETリクエスト)
- editは、今保存されている記事の編集をする
- edit_article_path は /articles/:id/edit のこと
- idが渡されてきている
記事ごとの編集ページが表示できるようにする
app/controllers/article.controller.rbに以下を定義する
def edit
@article = Article.find(params[:id])
end
- 「編集」ボタンを押すと、edit_article_pathが実行される
- edit_article_path は url「/articles/:id/edit」のこと
- editする記事の:idがurlに渡されている
- articles#editに進む
params[:id]
で、urlの:id
を受け取ることができるparams[:id]
で受け取った:id
の記事をArticle.find
により、記事全体から探す@article
に入れることで、edit画面に該当:id
の記事がviewに初期表示される
edit_article_pathに記事の:id
を渡さなければいけない
<%= link_to '編集する', edit_article_path(@article) %>
edit_article_path(@article)と書く
記事の編集(updateアクション)はこちら
#DAY13