我正在開發我的第一個更大的Rails項目。它將是一個RESTful API。 我偶然發現的情況可以描述爲: 我有模型'Person'和'Application'。Rails 3:兩個獨特的嵌套資源,一個模型
class Person < ActiveRecord::Base
has_many :managed_applications, :class_name => "Application", :foreign_key => "manager_id"
has_many :owned_applications, :class_name => "Application", :foreign_key => "owner_id"
# other associations
has_many :adresses
end
class Application < ActiveRecord::Base
belongs_to :manager, :class_name => "Person"
belongs_to :owner, :class_name => "Person"
end
我應該如何設計我的控制器和路由,以便我有以下相當不言自明的資源工作?
/applications/<id>/owner
/applications/<id>/manager
/people/<id>
的問題是,這是鳥巢奇異所有者和管理者的資源下一個「複數」的應用程序資源時,所有的路由在同一個「把PeopleController」行動結束了,與同PARAMS。
如果前兩個資源作爲最後一個資源在只讀操作方面發揮作用(例如,您可以只通過一個請求獲取特定應用程序的管理器地址,那麼GET /應用程序/ <ID> /所有者/地址')。那甚至是推薦的API設計?
非常感謝。
謝謝,最終我通過將關聯本身視爲資源來解決問題。我是新來的,編輯我的問題以包含我自己的解決方案是否很常見? T. – user1241530
我也是新來的:-)。但我認爲這樣做比保密更好。 – Renra
@ user1241530如果您有問題的有效答案,您可以添加一個單獨的答案。不要在問題中包含答案,因爲答案可能不是最好的答案。這樣你的問題和答案就會有不同的選票。 –