2013-08-01 3 views
1

У меня есть вспомогательная функция, в которой класс отображается, когда определенный контроллер открыт.rails helper css change change

Helper:

 def cssclass 
    'class="tab_gen_active3"' if controller_name == "user_brands" 

    end 

Я имею трудности применить 'еще', в котором "tab_gen3" класс CSS активируется при controller_name = "user_categories". Есть идеи как это сделать.

ответ

0

Изменить его

controller_name == "user_brands" ? 'class="tab_gen_active3"' : '' 
+0

Отлично. Работает как шарм. Я не знаю, как я это пропустил. – user2618465

+0

Не могли бы вы принять ответ, если он работает на вас. – Santhosh

1

Если вы хотите более элегантное решение - добавить условный класс вспомогательный метод:

def cond_class(condition, true_class, false_class = '') 
    condition ? true_class : false_class 
end 

и использовать его в виду, как это - им мой случай это Haml:

.example-div{:class => cond_class(controller_name == 'user_brands', 'tab_gen_active3')} 
+0

Awsome. Это действительно сократило мой код. – user2618465