Wie zu Verwenden ActiveResource mit Flachen Verschachtelten Routen?

Ich habe eine Rails-Anwendung, die eine Unternehmens-Ressource mit einem verschachtelte Ressource Mitarbeiter. Ich bin mit flachen routing, so zu manipulieren, Mitarbeiter, meine Strecken sind:

GET     /employees/1
PUT     /employees/1
DELETE  /employees/1
POST    /companies/1/employees

Wie kann ich das erstellen, Lesen, aktualisieren und zerstören Mitarbeiter mit ActiveResource?

Zu erstellen, die Mitarbeiter, die ich verwenden kann:

class Employee < ActiveResource::Base
  self.site = "http://example.com/companies/:company_id"
end

Aber wenn ich versuche zu tun:

e=Employee.find(1, :params => {:company_id => 1})

Bekomme ich einen 404, weil die Strecke /Unternehmen/:company_id/die Mitarbeiter/:id ist nicht definiert, wenn flache Strecken verwendet werden.

Lesen, Bearbeiten und löschen von Mitarbeitern, die ich verwenden kann:

class Employee < ActiveResource::Base
  self.site = "http://example.com"
end

Aber dann scheint es nicht zu sein, eine Möglichkeit zu schaffen, neue Mitarbeiter, aufgrund des Fehlens der Unternehmen, die äußere route.

Eine Lösung wäre die separate definieren CompanyEmployee und Mitarbeiter Klassen, aber das scheint mir zu Komplex.

Wie kann ich mit einem einzigen Mitarbeiter-Klasse in ActiveResource, um alle vier CRUD-Operationen?

InformationsquelleAutor Rich Apodaca | 2009-05-20
Schreibe einen Kommentar