4

私のサイトには、コントローラーがチェックする回答テキストをユーザーが送信できるフォームがあります。
標準の GET フォームを使用します。

<%= form_tag('/submit', method: "get", remote: true) do %>

しかし、最近、長い回答で次のエラーが発生しました。

要求 URI が大きすぎ
ます WEBrick::HTTPStatus::RequestURITooLarge

エラーを修正するには、フォームを POST に変更する必要がありますか? これには他の変更が必要ですか?

4

1 に答える 1

10

ブラウザ/ウェブサーバーによって異なりますが、URL の平均的な制限は 2000 文字です。はい、制限に達している場合は、POST に変更してください。

これにはフォームタグを変更する必要があります:

<%= form_tag('/submit', method: "post", remote: true) do %>

現在のルーティングによっては、ルートの更新も必要になる場合があります: ( resourcesPOST リクエストを使用すると、デフォルトcreateでコントローラーのメソッドにルーティングされるため)

match '/submit', to: 'submit#index', via: :post

于 2013-07-01T02:12:49.883 に答える