36

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.

smholloway
  • 589
  • 7
  • 14
Nick Ginanto
  • 31,090
  • 47
  • 134
  • 244

1 Answers1

72

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
Thomas Klemm
  • 10,678
  • 1
  • 51
  • 54