フィヨルドブートキャンプの課題としてSinatraを使ったメモアプリの開発に取り組んでいます。
CRUD処理の実装でform
タグを使ってHTTPメソッドのdelete
とpatch
を送信する方法を調べました。
結論
_method
パラメータを使いHTTPメソッドを指定する
実装例
form
タグのメソッドはpost
を指定type="hidden"
を指定したinput
タグを追加value
属性にHTTPメソッドを指定name
属性に_method
を指定
type="hidden"
を指定したinput
タグは非表示になる
例) /memos/@memo[:id]
パスにdelete
メソッドを送りたい
<form action="/memos/<%= @memo[:id] %>" method="post"> <input type="hidden" name="_method" value="delete"> <input type="submit" value="削除"> </form>
注意点
モジュラースタイルで記述する場合は別途method_override
が必要になる