1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WebブラウザはDELETEリクエストを発行できない

Last updated at Posted at 2022-03-23

ハマったこと

下記のようにdeleteリクエストを指定して送信したがGETメソッドになってしまう。

_header.html.erb
<%= link_to "Log out", logout_path, method: :delete %>

出たエラーメッセージ

Routing Error
No route matches [GET] "/logout"

原因

どうやらブラウザからDELETEリクエストを送ることができないみたいです。

対策

link_toメソッドではなく、button_toメソッドで解消できるみたいです。
もっといいやり方ないんだろうか、、、

ruby _header.html.erb
<%= link_to "Log out", logout_path, method: :delete %>   # 削除した
<%= button_to "Log out", logout_path, method: :delete %>   # 追加した

button_toタグを使用すると、生成されるHTMLによりデザインが変わってしまいます。
jsを正しく、読み込めばlink_toメソッドのままdeleteリクエストを送れるみたいです。

参考にした記事

railsのdeleteリクエストについて納得できない
理由も乗ってます。

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?