вы можете сделать оба. Я бы выбрал новое действие. Но вы можете передать дополнительный параметр и по ссылке:
link_to posts_path(trending: true)
В вашем контроллере вы можете проверить, если params[:trending].present?
, а затем передать только переменную сообщений @posts
трендовые сообщения.
Вы также можете назначить индикатор трендов для переменной, которая будет передана в индексное представление, чтобы можно было адаптировать макет (изменить заголовок с «публикаций» на «трендовые публикации») с помощью if params[:trending].present? then @trending = true end
Создание нового действия делает контроллеры и представления менее загроможденными условиями (if ...
)
Кстати, создание нового действия все еще остается REST-логикой, если вы сделаете запрос GET
. Если ваше новое действие было связано с обновлением сообщения, это должен быть PATCH
запрос