Ruby On Rails : Routing Concerns

  • One of the fundamental principles Rails developers follow is Don’t Repeat Yourself (DRY).πŸ”
  • We can use concerns, to avoid repeating the same routes defined.
  • To eliminate code duplication rails introduced the routing method :concern.
concern :commentable do
   resources :comments
end

concern :imageable do
  resources :images
end

resources :users, concerns: :imageable
resources :posts, concerns: %i[commentable imageable]

The :concerns option can accept one or more routing concerns.