Настройка маршрутов для получения подмножества записей - PullRequest
1 голос
/ 08 мая 2019

У меня есть модель с собственным контроллером Event, на этой модели у меня есть флаг, который сообщает мне, является ли он общедоступным или нет, создавая подмножество записей.Как мне настроить мои маршруты / контроллеры, чтобы иметь возможность получать следующие маршруты:

events/:id events/public events/public/:id

1 Ответ

4 голосов
/ 08 мая 2019

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...