mvilrokx
mvilrokx

Reputation: 1658

How do I make Duplicate action RESTful

I have a very simple Rails application that performs regular CRUD operations on an object (Path), this all fits nicely in the REST philosophy of Rails. Now however, I need to add a "Duplicate" feature (i.e. create new path from existing path). I have added it as an (RESTfull) action in my path_controller, so far so good (maybe not completely in line with the REST philosophy but I am not a purist).

Now I want to extend the functionality so that the users can choose to either create a completely new path from an existing one or copy the existing path to another, already existing path (duplicating its children). This means I am going to need a few extra Views:

Each of these views needs a corresponding action, and it is here that I am struggling as to where this all fits in REST.

This is a fairly simple example but as my UIs get more complex, I always run into this issue: How do I make my actions I need for my UI fit in REST controllers?

Upvotes: 0

Views: 393

Answers (1)

BvuRVKyUVlViVIc7
BvuRVKyUVlViVIc7

Reputation: 11811

Just add a new collection route to your resource:

resources :paths do
  collection do
    get :duplicate
  end
end

and add a duplicate method to your paths controller and views for it...

now you can access and address specifi routes for your users choice.

Upvotes: 1

Related Questions