Ruby on rails Rails中用户选择的CSS样式表

Ruby on rails Rails中用户选择的CSS样式表,ruby-on-rails,css,themes,Ruby On Rails,Css,Themes,我正在Rails中的一个站点上工作,我希望用户能够将CSS样式表更改为浅色或深色主题 我的观点是这样的,这样我就可以在样式表中使用一个变量: <%= stylesheet_link_tag @current_stylesheet %> 我试图通过在视图中设置一个链接来更改该变量,如下所示: <%= link_to 'Light Theme', :action => "set_light", :id => @projects %> “设置灯光”:id=>

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

我的观点是这样的,这样我就可以在样式表中使用一个变量:

<%= stylesheet_link_tag @current_stylesheet %>

我试图通过在视图中设置一个链接来更改该变量,如下所示:

<%= link_to 'Light Theme', :action => "set_light", :id => @projects %>
“设置灯光”:id=>@projects%>
在我的控制器中调用此函数的:

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

有没有办法让这样的事情成功?现在它说projects/set_light模板丢失了,但我不想创建新模板,我只想调用set_light来更改样式表并刷新当前页面。关于如何实现这一点有什么想法,或者是更好的方法吗?

为了避免rails查找“set_light”模板,您可以在操作结束时为您已经拥有的模板添加渲染调用。例如,只需添加

render :action => 'style_chooser' 

其中,style_chooser是向用户显示或更改其样式的视图

render :template => 'style_chooser'