Рефакторинг простого кода рельсов для указания активного li на навигации - PullRequest
0 голосов
/ 29 февраля 2012

Я пытаюсь установить класс активности li в зависимости от того, на какой странице находится пользователь.

У меня есть 4 элемента навигации, и все они выглядят примерно так:

<% if @activeLi == "home" %>          
    <li class="active">
<% else %>
    <li>
<% end %>
    <%= link_to :controller => "home" do %>
        <span>Home</span>
    <% end %>
</li>

и затем в каждом контроллере я просто устанавливаю @activeLi так:

def index
    @activeLi = "about"
end

Я знаю, что это довольно простые вещи, но мне просто интересно, есть ли более простой способ сделать это?

1 Ответ

2 голосов
/ 29 февраля 2012

Ну, я знаю, как можно упростить это и это, избавившись от необходимости использовать эти неприятные переменные экземпляра.

<li class="<%= controller_name == "home" ? 'active': '' %>">
    <%= link_to :controller => "home" do %>
        <span>Home</span>
    <% end %>
</li>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...