resources :events
даст вам следующие пути:
/events
/events/:id
/events/:id/edit
# ... and so on
Вы можете добавить флаг public
к маршрутам, предоставляющим пользовательский путь маршрутов, используя параметр path
:
resources :events, path: "events/(:flag)", constraints: {flag: 'public'}
Это даст вам следующие пути:
/events
/events/public
/events/:id
/events/public/:id
/events/:id/edit
/events/public/:id/edit
Если путь включает в себя «public», у вас будет params[:flag] = "public"
в EventsController
.
Для генерации путей, в том числе "public", вы можете использовать вспомогательные методы маршрутов, предоставляющие flag
параметр:
events_path # => /events
events_path(flag: "public") # => /events/public