質問するログイン新規登録
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

966閲覧

なぜログアウトの時にだけ{method: :post}を用いるのか知りたいです

GAD0244

総合スコア33

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

1クリップ

投稿2020/01/09 01:27

0

1

こちら初学者のため、どうかご教示よろしくお願いします。

只今プロゲートでruby on railsを勉強してるのですが、ログインログアウトのところで、ログアウトの時にだけ{method: :post}を用いる理由が解りません。

プロゲートでは説明なくサラッと『第三引数にmethod: :postを忘れずに』しか記載されておらず、teratailで調べたら『指定しなければ原則getで探す』みたいなことは書かれてたのですが、これもあまり理解出来ませんでした。

ルーティングでもログインログアウト共にpostですし理解に苦しんでおります。。。

どうかご回答よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

プロゲートのコードの内容は分かりませんが、ルーティングは開発者が自由に決定できます。
プロゲートの教材の実装では、ログアウトのルーティングとしてpostで受け取るようになっているというだけなのではないでしょうか。
いずれにせよ具体的なコードを示してもらわないと、なんとも言えません。

結論としては、ログアウトするという機能を作る場合、getでもpostでも構わない。
ただし、それは実装するコード次第という事になります。
少なくとも、ログアウトだからpostにしなければいけないというルールがRailsにあるわけではありません。

投稿2020/01/09 01:49

mingos

総合スコア4316

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

GAD0244

2020/01/09 05:08

ログアウトでgetとpostどちらでも使えるとは知りませんでした… それとやはりコードを載せるべきでしたね、申し訳ありません また明日にでも改めてコード載せて投稿しようと思います!本当にありがとうございます!
guest

0

こちら、既に解決済みとなっていますが、ログアウト処理はPOSTメソッドにするのが正解です。GETメソッドは、オブジェクトの参照(閲覧)に用いることになっていますが、ログアウト処理はサーバー内部の状態が変化します。このような場合はPOSTリクエストを用いることになっています。
ログアウトをGETで実装していると、たとえばブラウザやブラウザの拡張機能が、先読み機能により勝手にログアウトのリンクを参照してしまう可能性があります。POSTであれば、このようなことは起こりません。

投稿2024/01/25 07:08

ockeghem

総合スコア11710

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問