Rails での最初の大きなプロジェクトに取り組んでいます。RESTful API になります。私が遭遇した状況は、次のように説明できます。モデル「人」と「アプリケーション」があります。
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」アクションになることです。
ボーナスは、最初の 2 つのリソースが読み取り専用操作に関して最後のリソースとして機能する場合です (たとえば、特定のアプリケーションのマネージャーのアドレスを 'GET /applications/<id >/所有者/アドレス')。それも推奨される API 設計ですか?
どうもありがとう。