require 'constraints/group_url_constrainer' constraints(GroupUrlConstrainer.new) do scope(path: ':id', as: :group, controller: :groups) do get '/', action: :show patch '/', action: :update put '/', action: :update delete '/', action: :destroy end end resources :groups, constraints: { id: /[a-zA-Z.0-9_\-]+(?