Как мне сделать Дублирующее действие RESTful

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

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

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

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

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

ruby-on-rails,ruby-on-rails-3,rest,ruby-on-rails-3.1,

0

Ответов: 1


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

resources :paths do
  collection do
    get :duplicate
  end
end

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

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

рубин-на-рельсы, рубин-на-рельсы-3, отдых, рубин-на-рельсы-3,1,
Похожие вопросы