ユーザーをサインアウトするには、リンクがあります:
link_to "Sign out", signout_path, method: "delete"
このリンクは正常に機能し、すでにルート ファイルにルート /signout がありますが、javascript を無効にしてこのリンクをクリックすると、次のように表示されます: [GET] "/signout"と一致するルートがありません。ここで問題は何ですか?
ユーザーをサインアウトするには、リンクがあります:
link_to "Sign out", signout_path, method: "delete"
このリンクは正常に機能し、すでにルート ファイルにルート /signout がありますが、javascript を無効にしてこのリンクをクリックすると、次のように表示されます: [GET] "/signout"と一致するルートがありません。ここで問題は何ですか?
スクリプトを作成しないと、ブラウザーはフォームを送信することによってのみ非 GET 要求を送信できます。リンクをクリックすると、常に GET になります。に別のメソッドを指定するとlink_to
、リンクに JavaScript フックが追加され、適切なメソッドでフォームが動的に作成および送信されます。スクリプトが無効になっている場合、ブラウザは通常どおり GET リクエストを送信するだけです。これは、こちらのドキュメントで説明されています( Optionsの下を見てください)。
スクリプトが無効になっているユーザーをアプリでサポートする必要がある場合は、button_to
代わりに を使用link_to
し、ボタンをリンクのようにスタイルします。