Выбранная пользователем таблица стилей CSS в Rails

Я работаю над сайтом в Rails и хотел бы, чтобы пользователь мог изменить таблицу стилей CSS на светлую или темную тему.

У меня есть это на мой взгляд, так что я могу использовать переменную для таблицы стилей:

<%= stylesheet_link_tag @current_stylesheet %>

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

<%= link_to 'Light Theme', :action => "set_light", :id => @projects %>

который вызывает эту функцию в моем контроллере:

class ProjectsController < ApplicationController
  def set_light
    @current_stylesheet = 'light'
  end
end

Есть ли способ сделать что-то вроде этой работы? Сейчас говорится, что шаблон projects / set_light отсутствует, но я не хочу создавать новые шаблоны, я просто хотел бы вызвать set_light, чтобы изменить таблицу стилей и обновить текущую страницу. Любые идеи о том, как достичь этого, или, возможно, лучший способ приблизиться к этому?

1 ответ

Чтобы рельсы не искали шаблон 'set_light', вы можете добавить вызов рендеринга в конец вашего действия для шаблона, который у вас уже есть. например, просто добавьте

render :action => 'style_chooser' 

или же

render :template => 'style_chooser'

где style_chooser - представление, с которым вы представляете пользователя или изменяете стиль для

Другие вопросы по тегам