LaravelのFormでmethodを変える方法

LaravelのFormでmethodを変える方法

表題の通り。

HTTPメソッドは本来11種類あって、用途に応じてこれらを使い分ける。

しかしHTMLのformタグでは「get」「post」の2種類のメソッドしか取り扱っていない。

デフォルト以外のでやりとりするために、Laravelでは(?、他でも使えるかも)以下の方法でメソッドを変更することができる。

Laravel固有の方法

Laravel固有のタグ(?)を使う方法。

多くの教材はこちらの方法を紹介してると思われる。

書き方を以下に示す。

3行目の「@method(‘DELETE’)」のようにメソッドを@methodのあとに書くと、formタグのmethod=”xxx”を無視して、そちらが優先される。

inputタグを使う

自分が対応した仕事では上記の方法では何故か期待通りに動作しなかった。

そのときに知った方法。

Laravel以外でも動作するのかは未確認。

下から2行目にtype=”hidden”のinputタグが追加されていうのが分かるだろうか。

この書き方でも大丈夫らしい👍