0

我一直使用RestClient调用API,所以这里我调用DELETE方法删除一张图片:

@mposter_D = params[:mposter_D]
@mid_D = params[:mid_D]
req = Hash.new
req['mov'] = @mid_D

puts "....#{req.to_json}"
resource_pos = RestClient::Resource.new
Rails.application.config.sta_url+"/movi/pos/"+@mposter_D 
response_pos = resource_pos.delete req.to_json, :content_type => :json

在调用这个之后,我得到了这个:

ArgumentError (wrong number of arguments (2 for 1)): in the last line of code
4

3 回答 3

1

我遇到了同样的问题。显然,在执行删除方法时,您不能从 url 中传递参数。(即这不起作用:http ://example.com/resource?foo=bar&baz=qux )

如果您需要向删除请求添加参数,请使用以下格式:

RestClient.delete 'http://example.com/resource', :params => {:foo => 'bar', :baz => 'qux'}

请参阅名为 Query Parameters 的 restclient 文档部分

于 2015-01-26T19:12:42.730 回答
0

我所知道的关于通过 rest_client 删除的是,它只需要一个参数:

RestClient.delete 'http://demo.com/your_resourse'

您必须以该方法传递您的网址。谢谢

于 2013-08-06T07:34:47.903 回答
0

尝试这个:

RestClient.delete 'http://foo.com/your_resourse_id?#{req.to_query}'

或者:

RestClient.delete 'http://foo.com/your_resourse_id?mov=' + @mid_D
于 2013-08-06T09:40:59.137 回答