是否有红宝石方法可以按此处指定的方式发布以“ x-www-form-urlencoded”编码的表单数据? http://www.w3.org/MarkUp/html-spec/html-spec_8.html
我知道Net :: HTTP.post_form,但是因为我要发布多个共享相同名称的值,所以我无法使用该方法所需的哈希。
为了明确起见,我有一个字符串,格式为“ value1 = x&value1 = y&value1 = z&value2 = a&value3 = b”,并且我希望能够将其发布到另一页。我怎样才能做到这一点?
最佳答案
我认为内部params对象是http请求中实际原始帖子正文的解析版本。所有发布数据都以相同的方式发布(与原始发布数据一样),但是ActionController中的params哈希已经将其解析为易于使用的哈希。如果确实需要表单中的原始发布数据,则可以通过请求对象本身的raw_post方法访问它。
此处的ActionController::Request.raw_post documentation用于rails3,但至少从2.3.8起可用(我检查过的唯一2.3.x版本)。我认为它最有可能已经上市了。
在控制器中,尝试self.request.raw_post
以字符串形式获取原始发布数据。