代码之家  ›  专栏  ›  技术社区  ›  btelles

如何验证ActiveResource在调用时要使用的URL?

  •  1
  • btelles  · 技术社区  · 15 年前

    我正在尝试从另一个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。知道我做错了什么吗?

    再见, 伯恩斯

    2 回复  |  直到 15 年前
        1
  •  4
  •   Community CDub    8 年前

    使用ActiveResource上的Collection_Path方法可以完成此操作,请在此处查看答案:

    How do you log the URL ActiveResource uses?

        2
  •  0
  •   btelles    15 年前

    找出答案:

    我应该这么叫:

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

    不是我上面展示的。