Не думаю, что вам нужен контроллер для товарищей по команде.
И вы действительно не должны иметь действий adduser / removeuser / etc в контроллере вашей команды!
Вы можете настроить свои маршруты так:
resources :teams do
scope :module => "team_scope" do
resources :users
end
end
Тогда у вас будет UserController в app/controllers/team_scope/users_controller.rb
Чтобы создать нового пользователя для команды, вы должны написать: /team/1-team-a/users
, и он выполнит действие create
в UsersController выше.
Когда вы используете scope
в своих маршрутах, он не меняет помощников маршрута, как при namespace
. Действие new
будет просто доступно через new_team_user_path(@team)
.
Хм ... так что да, в этом случае у меня будет TeamatesController, и, возможно, я настрою свои маршруты так:
resources :teams do
resources :teamates, :only => [] do
collection do
get :edit
put :update
end
end
end
И тогда вы можете редактировать ассоциации между командой и ее игроками ...
Ваша форма будет отправлять идентификатор пользователя на team_teamates_path(team)
...
Но я действительно не уверен, что это лучший способ, мне нужно подумать об этом. Это тоже не совсем успокоительно.