Я создаю шаблон администратора, и есть раздел настройщика, в котором я создал 3 переключателя (названных: Красный, Синий, Зеленый). Есть левое меню навигации боковой панели, и я хочу изменить цвет фона меню навигации боковой панели, нажимая переключатели.
Если я нажимаю на кнопку, это изменяет bg-цвет меню навигации боковой панели, добавляя класс, но если я иду на другую страницу, она перезагружается и класс удаляется.
Я попробовал одну вещь, в мой application_helper.rb я добавил следующий код
def is_active(action)
@color = "red"
params[:action] == action_name ? @color : nil
end
и в моей папке раскладок у меня есть частичный файл _sidebar.html.erb, и во внешнем div я использую этот помощник, как показано ниже
<div class="sidebar-nav <%= is_active('action_name') %>" id="collapse-sidebar" >
Что я делаю здесь, проверяю имя действия, если оно совпадает, затем добавляю класс red, который хранится в переменной экземпляра @ color
Если я могу передать значение переключателя в файл application_helper динамически, это означает, что если я нажимаю на красный, значение должно быть красным, зеленым, тогда значение должно быть зеленым. и с помощью которого я могу динамически изменять имя класса в помощнике приложения, и, кроме того, это изменило бы цвет боковой панели.
Пожалуйста, если я делаю что-то не так, или это неправильный способ сделать это, или мы не можем достичь такой функциональности в ruby на рельсах, пожалуйста, подтвердите мне, что это было бы замечательно.
Спасибо