0

ユーザーをサインアウトするには、リンクがあります:

link_to "Sign out", signout_path, method: "delete"

このリンクは正常に機能し、すでにルート ファイルにルート /signout がありますが、javascript を無効にしてこのリンクをクリックすると、次のように表示されます: [GET] "/signout"と一致するルートがありません。ここで問題は何ですか?

4

1 に答える 1

0

スクリプトを作成しないと、ブラウザーはフォームを送信することによってのみ非 GET 要求を送信できます。リンクをクリックすると、常に GET になります。に別のメソッドを指定するとlink_to、リンクに JavaScript フックが追加され、適切なメソッドでフォームが動的に作成および送信されます。スクリプトが無効になっている場合、ブラウザは通常どおり GET リクエストを送信するだけです。これは、こちらのドキュメントで説明されています( Optionsの下を見てください)。

スクリプトが無効になっているユーザーをアプリでサポートする必要がある場合は、button_to代わりに を使用link_toし、ボタンをリンクのようにスタイルします。

于 2013-09-24T17:29:21.657 に答える