ネストされたさまざまなルートを 1 つのコントローラー アクションにどのようにポイントしますか?
ユーザーは、会社、プロジェクト、グループなどの複数のグループのメンバーになることができます。管理者による参加、脱退、または削除を要求できます。
複数のモデルの削除アクションにアクセスし、プロファイル モデルの属しているレコードを破棄したい
プロファイルからモデル(会社など) へのリクエストを受け取るポリモーフィック モデルが既にあり、リクエストが受け入れられると、プロファイルはモデルに属します。要求が受け入れられると、記録された要求は破棄されます。プロファイルとモデルの関係を破壊する削除アクションは requests_controller の一部であるべきだと思いますが、profile_controller の一部になる可能性があると思います。
私が最終的に必要だと思っているのは、
/_model_/:id/profile/:id/remove
/company/:id/profile/:id/remove
しかし、リクエストコントローラーで削除アクションを指すようにするにはどうすればよいですか
また
/_model_/:id/requests/remove
/company/:id/request/remove
ルートで次のコードを使用しています
resources :companies do
resource :requests do
put 'remove', :on => :member
end
resources :requests do
put 'accept', :on => :member
end
end
これはルートの倍増を生み出しています
remove_company_requests PUT /companies/:company_id/requests/remove(.:format)
company_requests POST /companies/:company_id/requests(.:format)
new_company_requests GET /companies/:company_id/requests/new(.:format)
edit_company_requests GET /companies/:company_id/requests/edit(.:format)
GET /companies/:company_id/requests(.:format)
PUT /companies/:company_id/requests(.:format)
DELETE /companies/:company_id/requests(.:format)
accept_company_request PUT /companies/:company_id/requests/:id/accept(.:format)
GET /companies/:company_id/requests(.:format)
POST /companies/:company_id/requests(.:format)
new_company_request GET /companies/:company_id/requests/new(.:format)
edit_company_request GET /companies/:company_id/requests/:id/edit(.:format)
company_request GET /companies/:company_id/requests/:id(.:format)
PUT /companies/:company_id/requests/:id(.:format)
DELETE /companies/:company_id/requests/:id(.:format)
として