我想通过HTTP#post_form
从外部Ruby脚本发送POST请求到Rails应用程序。该请求是针对create
动作(即,该URI是http://server/controller
)。从外部脚本创建新的rails数据库记录?
如果我编码一个参数到请求,一切都很好:
HTTP::post_form(uri, { :my_param => "value" })
虽然我必须明确地从params
手动拉出my_param
,在控制器中。这看起来效率不高,并且会在应用程序本身内部创建新记录(因为该参数不存在)。因此,我试图让自己的脚本像Rails本身一样,按照控制器期望的那样传递适当的数据,例如,
HTTP::post_form(uri, { :object => { :my_param => "value" } })
但是,这是行不通的。 post_form
似乎逃避我的哈希成不同的东西,即
{ "object" => [\"my_param\", \"value\"] }
这显然不会做同样的事情。我在传递数据的方式中缺少明显的东西吗?或者我能否达到我的目标(从应用程序外部创建新记录)?
优秀,作品谢谢!但是,当值是数组时它似乎分解了。你不会碰巧知道如何处理这种情况吗? – kfb
查看我编辑的帖子 –
太棒了,这是正确的排序。干杯! – kfb