Как мне сделать Дублирующее действие RESTful - PullRequest
0 голосов
/ 15 октября 2011

У меня есть очень простое приложение Rails, которое выполняет обычные операции CRUD над объектом (Path), все это прекрасно вписывается в REST-философию Rails. Однако теперь мне нужно добавить функцию «Дублировать» (т.е. создать новый путь из существующего пути). Я добавил это как (RESTfull) действие в моем path_controller, пока что это хорошо (возможно, не полностью соответствует философии REST, но я не пурист).

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

  • тот, который позволяет им выбрать вариант 1 (создать новый объект) или вариант 2 (дублировать существующий объект).
  • Если они выберут вариант 2, мне нужен другой вид, который позволит им выбрать путь, по которому они хотят скопировать.

Каждое из этих представлений требует соответствующего действия, и именно здесь я борюсь за то, где все это вписывается в REST.

Это довольно простой пример, но, поскольку мои пользовательские интерфейсы становятся все более сложными, я всегда сталкиваюсь с этой проблемой: как мне сделать свои действия, необходимые для того, чтобы мой пользовательский интерфейс, подходил для контроллеров REST?

1 Ответ

1 голос
/ 15 октября 2011

Просто добавьте новый маршрут сбора на ваш ресурс:

resources :paths do
  collection do
    get :duplicate
  end
end

и добавьте дубликат метода к вашему контроллеру путей и просмотрите его ...

теперь вы можете получить доступ и указать конкретные маршруты по вашему выбору.

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