用户在Rails中选择了CSS样式表

我正在使用Rails中的一个站点,我希望用户能够将CSS样式表更改为浅色或深色主题。

我在我的视图中有这个,所以我可以使用样式表的变量:

 

我尝试通过在我的视图中使用如下链接来更改该变量:

  "set_light", :id => @projects %> 

在我的控制器中调用此函数:

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

有没有办法让这样的工作? 现在它说缺少projects / set_light模板,但我不想创建新模板,我只想调用set_light来更改样式表并刷新当前页面。 关于如何实现这一点的任何想法,或者更好的方法来实现它?

为了避免让rails找到’set_light’模板,你可以为你已经拥有的模板添加一个渲染调用到你的动作的结尾。 例如,只需添加

 render :action => 'style_chooser' 

要么

 render :template => 'style_chooser' 

style_chooser是您向用户呈现或更改样式的视图