Ruby on rails Rails活动资源:如何在请求体中发送post参数而不是作为查询字符串?

Ruby on rails Rails活动资源:如何在请求体中发送post参数而不是作为查询字符串?,ruby-on-rails,json,post,activeresource,Ruby On Rails,Json,Post,Activeresource,我正在使用rails activeresource调用一些post请求,但是所有参数都作为查询字符串发送,结果是调用的url太长,我得到WEBrick::HTTPStatus::RequestURITooLarge异常 所以我需要在请求主体中发送参数,但是我找不到如何做到这一点 非常感谢尝试安装服务器而不是Webrick,请阅读这些 或者,将webrick.rb文件添加到config\initializers目录,并添加以下代码: if defined?(WEBrick::HTTPRequest

我正在使用rails activeresource调用一些post请求,但是所有参数都作为查询字符串发送,结果是调用的url太长,我得到
WEBrick::HTTPStatus::RequestURITooLarge
异常

所以我需要在请求主体中发送参数,但是我找不到如何做到这一点

非常感谢

尝试安装服务器而不是Webrick,请阅读这些

或者,将
webrick.rb
文件添加到
config\initializers
目录,并添加以下代码:

if defined?(WEBrick::HTTPRequest)
  WEBrick::HTTPRequest.const_set("MAX_URI_LENGTH", 10240)
end

也请阅读这篇文章。

因此,我认为您正在链接中执行post请求。默认情况下,锚定将创建查询参数。但是,如果您使用按钮,并且默认情况下确实会在post方法作为请求体发送数据,就像post方法的形式一样。请尝试以下代码片段:

button_to 'Your post requesting link name', something_path(:your_params => :will be here) 
让我知道这是否有效


谢谢。

要在activeresource中发送post请求,您应该参考

例如,您可以这样做

#Entity.post(custom_method_name, options = {}, body = '')
Company.post(:add_role, nil, {user_id: 1, role_id: 2}.to_json)

如果您还需要什么,请告诉我。

请求正文中已经发送了请求后数据。你真的是在请求发帖吗?请看,问题主要是作为请求体发送参数,然后是查询字符串。我想在很多情况下,配置服务器以允许或增加uri的大小不应该是解决方案。没问题,我的朋友。拉贝娜·马亚克