Я посмотрел на эту статью и получаю странное поведение в части HAML. Когда я получаю доступ к двум различным действиям контроллера, один экземпляр работает, в то время как другой отказывает. Вот код:
= link_to_unless_current(t('some.string', :en=>'SomeString'), '/url',{:class=>(controller.controller_name == 'randomController' ? 'current' : 'header-link')})
Когда я вывожу = controller.controller_name
в любом представлении, я получаю 'randomController.' На главной странице листинга (где все объекты показаны с разбивкой на страницы), класс не применяется, но при переходе на страницу «show» класс внезапно появляется. Поскольку контроллер одинаков для обоих (в обоих случаях печатается одна и та же строка), почему класс не применяется одинаково?
В общем, есть ли лучший способ стилизовать ссылки на основе текущего контроллера вместо проверки имени контроллера? Помощник current_page
требует как действия «контроллер +», так что здесь он не подходит.