Как ни странно, нашёл что искал на хабре, вот и хочу понять как такое сделать
правильно:
Что имеем
Два адреса:
https://habrahabr.ru/users/f15/favorites/
https://habrahabr.ru/users/f15/favorites/comments/
Т.е. в routes описываю так:
resources :users do
member do
get 'favorites' => 'users#favorites'
get 'favorites/comments' => 'users#favorites_comments'
end
end
Таким образом, есть два экшена, которые обрабатывают обе ситуации (показ начального избранного и избранных комментариев).
Что хочу получить
Хотелось бы два экшена, один шаблон и с несколькими partials, но немного не понимаю, как это сделать. В голову приходит только одно: один рендер на два экшена, а в шаблоне ставить if на то, какой элемент меню активировать (в зависимости от пришедшего объекта) и какой partial показывать. Но правильно ли делать так или есть другой, более адекватный способ? Ведь если у нас будет не два экшена, а например 8, то придётся вешать восемь if'ов для меню и partial'ов, что несколько избыточно.