Resource url helpers

Let say you have a model called Article and you defined a route using:

resources :articles

Here is a list of url helpers you can use:

# helper, HTTP verb, controller action
 
resource(:articles)         # GET => index
resource(@article)          # GET => show
resource(:articles, :new)   # GET => new
resource(@article, :edit)   # GET => edit
resource(@article, :delete) # GET => delete
resource(:articles)         # POST => create
resource(@article)          # PUT => update
resource(@article)          # DELETE => destroy

NOTE: Please notice the difference between @article (single form) and :articles (plural form) on the above examples.

If you have a nested route such as:

resources :articles do
  resources :comments
end

Then the following url helpers are available to you:

resource(@article, :comments)         # GET => index (shows comments for @article)
resource(@article, @comment)          # GET => show
resource(@article, :comments, :new)   # GET => new
resource(@article, @comment, :edit)   # GET => edit
resource(@article, @comment, :delete) # GET => delete
resource(@article, :comments)         # POST => create (creates new comment for @article object)
resource(@article, @comment)          # PUT => update (updates comment)
resource(@article, @comment)          # DELETE => destroy (deletes comment)

These routes can be extended in a similar manner to use deeper nests if you need to, such as resource(@forum, @post, :comments).