Sinatra3
やった事
・PATCHとDELETEを実装した
PATCHについて
一次情報はこれなのかな?
難しく理解出来ず😭他のものをググった
RFC 5789: HTTP の PATCH メソッド
PatchとPutの違いについて - Qiita
RESTにおけるPUTとPATCHの違い – Regardie's Salesforce Blog
PUT
・既存リソースの新しいものに置き換える
・新しいリソースの中に既存リソースにある要素がない場合、その要素は削除される
・PUTがないAPIもある
PATCH
・既存リソースに新しいものを付け足す
・新しいリソースの中に既存リソースにある要素がない場合でもその要素は削除されない
・PATCHがないAPIもある
PATCHメソッドとDELETEメソッドの実装の仕方
必須要件
・追加はPOSTメソッド、編集はPATCHメソッド、削除はDELETEメソッドで実装すること
このPATCHメソッドとDELETEメソッドはどう書けばいいのかと悩む。
「Webを支える技術」を読み、formからではなくXMLHttpRequestというものを使わなければいけないのかな?と勘違いして調べた。
Ajaxについて
Ajaxとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
Ajaxとはどういうもの?基本情報から仕組みまで詳しく解説|発注成功のための知識が身に付く【発注ラウンジ】
XMLHttpRequestについて
XMLHttpRequest(XHR)とは - 意味をわかりやすく - IT用語辞典 e-Words
XMLHttpRequestの使い方(1) | JavaScript実践編 - ウェブプログラミングポータル
XMLHttpRequestの使い方(2) | JavaScript実践編 - ウェブプログラミングポータル
RailsにおけるAjaxの実装(JavaScriptとjQueryのコード比較) - Qiita
具体的なコードの書き方だと思うが、JavaScriptが分からないせいか難しすぎるせいか理解出来ず!
でもこの掲示板にコメントを書き込みボタンを押すと、XMLHttpRequestで画面を移管せずにコメントが反映される仕組みの様。
こういう場合に使うものなのか!コードも具体的で分かりやすい!
JavaScriptを勉強したらもう一度読み返したい!
とりあえず今回のプラクティスはHTTPメソッドに対し画面を移管して表示を行うから、formでの実装で良さそうな事に気づいた。
DELETEメソッドをformに書いた
<form action="/memos/<%=@id%>" method ="POST">
<button type="submit">削除</button>
<input type="hidden" name="_method" value="DELETE">
</form>
フォームの中にinput type="hidden”…
を入れてボタンを押したら、/memos/id
にDELETEメソッドが渡された!
その他
binding.irb
を使ってデータが渡されているかなど調べると便利!- メモの表示をtitleで引っ張ってきていたけど、idをつけないといけない事に気づいて修正した