Текущая страница? не работает с маршрутами с необязательными параметрами

Вот маршрут:

get "search(/:search)", to: "posts#index", as: :search

Теперь, если я в /search/somethingsomething и вид:

- if current_page?(search_path)
  = (do something)

тогда что-то не делается. Если я уберу скобки вокруг :searchОднако (т.е. get "search/:search" ...), тогда это работает. Что дает?

2 ответа

Вы можете использовать это условие

current_page?(controller: 'posts', action: 'index')

когда вы используете search_path в состоянии он генерируется без дополнительных параметров

Не берите в голову. Решил это, заменив условие на:

- if current_page?("/search/#{params[:search]}")
Другие вопросы по тегам