我在我的 Rails 应用程序中创建了一个名为 template.css.scss 的文件,其中包含我想要根据用户偏好动态更改的所有颜色样式。
这是它的一个小例子:
/* pink */
$lighter-shade: #F75F9E;
$darker-shade: #B54573;
.navbar-inverse {
background-color: $lighter-shade;
}
#command-header {
color: $darker-shade;
}
我想我可以做一个迁移来添加一个列来跟踪用户的样式偏好。当然,会有一个默认设置。然后我可以根据偏好更新 Sass 变量。
不幸的是,根据我的研究,似乎要走的路是创建单独的模板,然后根据用户的偏好动态设置这些模板。我真的希望情况并非如此,因为我现在组织事物的方式简洁高效,我不想失去它。
你会怎么做?
最佳答案
一种处理方式:获取用户的偏好并将其放入
data-user-preference="<%= current_user.pref %>">
然后使用 jquery 根据该首选项添加适当的类
$('.class-name').data('user-preference').addClass('whatever')
关于ruby-on-rails - 从 Rails 4 中的 Controller 操作设置 Sass 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35951399/