我有一个Rails应用程序,它有一个公司资源nested resource员工。我使用的是浅路由,所以操作员工,我的航线有:如何使用浅层嵌套路线的ActiveResource?
GET /employees/1
PUT /employees/1
DELETE /employees/1
POST /companies/1/employees
我怎么可以创建,读取,更新和使用的ActiveResource破坏员工?
要创建的员工,我可以使用:
class Employee < ActiveResource::Base
self.site = "http://example.com/companies/:company_id"
end
但是,如果我尝试做:
e=Employee.find(1, :params => {:company_id => 1})
我收到了404,因为其路由/公司/:COMPANY_ID /员工/:ID在使用浅层路线时未定义。
阅读,编辑和删除的员工,我可以使用:
class Employee < ActiveResource::Base
self.site = "http://example.com"
end
但后来似乎没有要创建新员工,由于缺乏公司外路线的方式。
一个解决方案是定义单独的CompanyEmployee和Employee类,但这看起来过于复杂。
如何在ActiveResource中使用单个Employee类来执行所有四个CRUD操作?
伟大的工作,但我需要使用“/公司/#{prefix_options [:COMPANY_ID]} /#{self.class.collection_name},xml“或POST不解释为XML。 – 2009-05-23 01:59:02