sen*_*hil 6 themes ruby-on-rails
我想让我的用户能够从5种不同的布局中选择公共页面的显示方式.我假设我将根据布局需要5个不同的css文件,然后需要将其传递到stylesheet_link_tag
我只知道如何使用if then语句来做到这一点.我不认为这是最好的方式.任何帮助......也可以吗?
谢谢
Gde*_*lin 11
您应该在会话变量中存储用户选择的布局(最简单,但在用户清除cookie或使用其他计算机时丢失),或者存储在数据库中.
可以说样式表有五个名称,每个名称对应一种颜色:
blue_stylesheet.css
green_stylesheet.css
red_stylesheet.css
orange_stylesheet.css
white_stylesheet.css
Run Code Online (Sandbox Code Playgroud)
将这些文件放在里面 public/stylesheets.
将用户选择的样式表存储到session[:style]变量中,如下所示:
session[:style] = 'green'
Run Code Online (Sandbox Code Playgroud)
只要用户不清除其cookie,该值将持续存在.
如果尚不存在,请在布局中创建application.erb文件.将为您网站上的每个模板呈现此文件中的代码.它应该包含一行<%= yield %>.在此文件中放置以下内容:
<%=stylesheet_link_tag session[:style]+'_stylesheet'%>
而已!
祝好运!
| 归档时间: |
|
| 查看次数: |
2693 次 |
| 最近记录: |