テックキャンプ89日目〜商品編集機能

kobasaです(´ω`*)またしばらく天気悪くなりそうですね。強風はやめて…
商品詳細表示機能は無事LGTM貰えたので、今日は商品編集機能の実装です!

商品出品機能と似たような感じですが、ちょいちょい違うので注意が必要ですね。
そしてレビュー依頼をして明日を待つ。

会社の昼休みくらいには返ってくるので、内容によっては午後からの仕事に影響が出たり?
早く帰って修正したい! or 早く帰ってマージしたい! なのであんま変わらんすけどね😃

実はGyazoGifで添付動画を撮るのが一番苦戦してたりするw

89日目のまとめ

form_with内のボタン

<%= form_with model: @item, url: item_path, local: true do |f| %>
  <%= f.submit "変更する" ,class:"sell-btn" %>
  <%=link_to 'もどる', item_path(@item.id), class:"back-btn" %>
<% end %>

form_with内のボタンでも「もどる」ボタンのようにフォームにパラメータを送るものでなければ、
ブロック変数を用いずにリンク先を記述することもある。
※link_toメソッドでの記述なので、見た目は送信ボタンぽいがリンク。

updateアクションの流れ

①リクエストで送られてきたidと一致するidを持つレコードをデータベースから取得。

@item = Item.find(params[:id])

②編集フォームから送られてきたパラメータ(item_params自作メソッド)で、
問題なく更新できるか判定。
更新できれば商品の詳細ページへ遷移させる。
更新できなければインスタンスを保持したままeditアクションに飛ばす。

if @item.update(item_params)
  redirect_to item_path(@item.id)
else
  render :edit
end

コメント

タイトルとURLをコピーしました