我正在 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
有没有办法让这样的事情发挥作用?现在它说 items/set_light 模板丢失,但我不想制作新模板,我只想调用 set_light 来更改样式表并刷新当前页面。关于如何实现这一目标的任何想法,或者可能是更好的方法来实现它?
为了避免 Rails 查找“set_light”模板,您可以在已有模板的操作末尾添加渲染调用。例如,只需添加
render :action => 'style_chooser'
or
render :template => 'style_chooser'
其中 style_chooser 是您向用户呈现或更改其样式的视图
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)