omg*_*wot 2 methods post ruby-on-rails activeresource
我目前正在使用ActiveResource创建客户端和服务器应用程序以进行Web服务.客户端有一个长字符串(:history),需要服务器完成转换过程.
在这里,客户端调用我的对象上的post方法,该方法扩展了ActiveResource :: Base
active_resource.post(:convert, {:history => hh, :format => format})
Run Code Online (Sandbox Code Playgroud)
这行错误抱怨URI太长:
ActiveResource :: ClientError失败.响应代码= 414.响应消息= Request-URI太大.
我有什么其他选择来发送"大"数据?可能在上面的hh字符串中查找2000个字符的数据.
谢谢!
所以post方法的签名是:
post(custom_method_name, options = {}, body = '')
Run Code Online (Sandbox Code Playgroud)
所以,当你这样做时:
active_resource.post(:convert, {:history => hh, :format => format})
Run Code Online (Sandbox Code Playgroud)
它将您的帖子变量放在选项哈希中,后者出现在帖子的查询字符串中.
你想要做的是:
active_resource.post(:convert, nil, {:history => hh, :format => format}.to_json)
Run Code Online (Sandbox Code Playgroud)