0
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?

link_toでpostメソットがきかなくてなぜかgetメソットになってしまう方への解決策(Rails7)

Last updated at Posted at 2024-10-17

Rails7でpostメソットと定義してもなぜかgetメソットとなってしまう!!!!

<%= link_to("ログアウト", "/logout", {method: "post"}) %>

このようにviewのファイルでpostメソットに行くようにを書いて、
下のように、routes.rbでpostメソットと定義して

post "logout" => "users#logout"

実行しても

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

というエラーがでて、なぜかgetメソットとして扱われる!!
progateではこのように教わったのに(クソーーー)!!

解決策

turboパッケージをインストールするために、まずGemfileに

gem "turbo-rails"

と書いて、ターミナル上で

bundle install

と書いて、パッケージをインストールする。
(すでに、"turbo-rails"がインストールされている人はスキップ)

次に、viewファイルで

<%= link_to("ログアウト", "/logout", data: { turbo_method: "post" }) %>  

このように書いて、下のように、routes.rbはそのままで

post "logout" => "users#logout"

実行すると解決できた

0
0
0

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
0
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?