Rails routing - :on => :collection

rails-routing, routes, ruby-on-rails-3

Solution

Routes on collections are listed here.

The difference between `:on => :collection` and `:on => :member` are the style of route they produce and their associated route helpers.

resources :posts do
  # on collection
  get 'search', on: :collection 
  # --> generates '/posts/search' and search_posts_path

  # on member
  get 'share', on: :member      
  # --> generates'/posts/:id/share' and share_photo_path(@post)
end

Problem

The Rails routing guide doesn't specify what `:on => :collection` means. I cannot find an explanation to what the `:on` key is, nor what a `:collection` is in that context.

Original source