如何验证ActiveResource打算在呼叫中使用的URL?

时间:2010-05-12 13:02:00

标签: ruby-on-rails web-services activerecord activeresource

我正在尝试从其他Rails应用程序请求数据,但我一直收到“未找到URL”错误。 是否可以使用调试器来确定预期的ActiveResource调用的目标URL和参数?

例如,我想使用以下参数发出GET请求:

https://some_server.com/employees/search.xml?last_name=smith

我有以下ActiveResource模型

class Employee < ActiveResource::Base
  self.site = "https://some_server.com"
end

some_server.com应用程序有一个以这种方式映射的搜索操作:

map.connect "/employees/search.:format", :controller => 'employees', :action => 'search'

但是当我尝试这个时:

Employee.new(:last_name => 'smith).get(:search)

我收到404“服务未找到”错误。对我来说,这听起来像ACtiveResource请求的URL不正确,因为当我通过浏览器发出上述请求时,我得到了xml。知道我做错了吗?

Cheerio, 伯恩斯

2 个答案:

答案 0 :(得分:4)

在ActiveResource上使用collection_path方法可以解决问题,请查看答案:

How do you log the URL ActiveResource uses?

答案 1 :(得分:0)

想出来:

我应该这样称呼:

Employee.get(:search, :last_name => 'smith')

不是我在上面展示的内容。