Rails RESTful веб-сайт против пользовательского опыта и меньше кликов - PullRequest
0 голосов
/ 03 декабря 2011

Ситуация: у меня есть модель команды, модель пользователя и модель чайного товарища для пользователей команды.

Скажем, я хочу иметь представление, которое содержит информацию о команде / шоу команды и чтоЯ хочу (чтобы упростить работу пользователя) добавить список пользователей, добавить пользователя в команду и возможность удалить пользователя из этой команды.

Чтобы быть совершенно спокойным, мне нужен контроллер (давайте назовем это Teamates), это будет обрабатывать пользователей команды.У меня был бы весь необходимый CRUD.

Чисто ли, когда представление команды / шоу вызывает контроллер teamates для следующих действий: adduser, removeuser, listusers.

Что я пытаюсьдостичь меньше кликов для пользователей.Другими словами, я бы хотел, чтобы пользователь мог управлять пользователями группы из командной панели, вместо того чтобы требовать от него дальнейшей навигации.

1 Ответ

0 голосов
/ 03 декабря 2011

Не думаю, что вам нужен контроллер для товарищей по команде.

И вы действительно не должны иметь действий 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) ...

Но я действительно не уверен, что это лучший способ, мне нужно подумать об этом. Это тоже не совсем успокоительно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...