Request-URI太大错误 - 摆脱GET?

时间:2013-07-01 01:51:50

标签: ruby-on-rails ruby-on-rails-3 post webrick

我的网站上有一个表单,用户可以提交答案文本以供控制人员检查 它使用标准的GET格式:

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

但我最近在长答案中得到以下错误:

  

请求URI太大了   的WEBrick ::的HTTPStatus :: RequestURITooLarge

我应该将表单更改为POST以修复错误吗?这需要进行任何其他更改吗?

1 个答案:

答案 0 :(得分:9)

取决于浏览器/网络服务器,但URL的平均限制为2000个字符。所以,是的,如果你达到了极限,就把它改成POST。

这需要更改表单标记:

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

根据您当前的路由,可能还需要更新路由:(因为使用resources默认情况下POST请求会路由到控制器中的create方法)

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