ruby-on-rails - 在 Rails 中如何处理基于用户的动态颜色变化?
问题描述
所以我们有七位导演拥有自己的节目页面。我正在尝试确定最佳、最干净的方式来处理显示页面上具有颜色块和指向其部门的链接的部分。到目前为止,我提出了两个选择。
选项 1 - CSS 和条件语句
<% if @user.id == 5 %>
<div id="bill-franklin">
CONTENT
<% elsif @user.id == 6 %>
<div id="joan-smith">
CONTENT
然后所有样式都基于 CSS 中的 id。笨重但有效。
选项 2 - 将颜色应用于数据库并将其放在代码中。
<div class="<%= @user.color %>" >
CONTENT
</div>
是否有另一个选项比选项 1 更干净并且不涉及我像 2 一样添加到数据库中?
解决方案
如果您有无限数量的用户,则需要在数据库上添加一些配置。如果不这样做,您可以根据用户数据创建 css 类。例如:
<div class="my_user_<%= @user.id %>" >
CONTENT
</div>
现在,在您的 css 文件中,您可以执行以下操作:
.my_user_1 { background-color: red; }
.my_user_2 { background-color: blue; }
使用比用户 id 更好的东西来构建自定义类会很好
推荐阅读
- python - selenium 脚本完成后,Flask 会话就会结束
- spring-boot - 嵌入式tomcat服务器spring boot中的默认http线程池大小
- javascript - 带有框阴影的粘性标题和隐藏内容
- angular - 角度 ngIf 问题(IE11)
- php - Symfony 5 - 表单和实体 - 具有不可空字符串实体属性的 NotBlank 约束
- python - else if 子句没有在 for 循环 python 中执行
- c++ - 在命名空间 std 中重载函数模板
- node.js - 部署到服务器后节点应用程序不工作
- ruby - RSpec 中的属性、元(omittable: true)、可选和默认有什么区别?
- python - 如何在没有 NAN 的情况下运行每月平均值的循环