【发布时间】:2014-04-29 19:15:40
【问题描述】:
我正在使用遏制 gem (https://github.com/taf2/curb) 创建一个带有 name 值的 HTTP POST 请求。我的遏制请求如下所示:
http = Curl.post("http://localhost:3001/campaigns", {:name => "Facebook"})
这被发送到 Rails API,但 API 中的方法需要一个哈希值。然后我想应用强参数(使用下面的代码)。如何修改我的 POST 请求以发送一个名为campaign 且名称为一个属性的哈希?
private
def campaign_params
params.require(:campaign).permit(:name)
end
谢谢
【问题讨论】:
-
http = Curl.post("http://localhost:3001/campaigns", {campaign: {name: 'Facebook'}} -
您的代码中缺少一个括号,但它仍然不起作用。
NoMethodError (undefined methodpermit' for "{:name=>\"Facebook\"}":String):` -
呵呵..试试
{"campaign[name]" => "Facebook"} -
很酷,它已经排序了 - 如果你想把它作为答案,我会勾选它。
标签: ruby-on-rails