样式表的条件加载

2024-04-22

我有一个与客户合作的网站。每个客户端都可以有自己的主题,当某个客户端的用户登录时,必须加载公司主题。在 application.css.scss 中,我为每个公司都有这样一行:

@import "_theme_x.css.scss";
@import "_theme_y.css.scss";
@import "_theme_z.css.scss";

我怎样才能只加载例如theme_x 当公司 x 的用户登录并且不加载 theme_y 和 theme_z 时?或者有更好的方法吗?谢谢!


如果主题很大,您可能希望将它们与 application.css 分开,并有条件地将它们加载到布局中。例如,如果你有一个帮手theme_stylesheet在 application_helper 中,它返回客户端正在使用的主题的名称:

# application.html.erb
<%= stylesheet_link_tag 'application', theme_stylesheet %>

如果它们很小,我喜欢命名空间。保持 application.css 不变,但修改主题以在正文上使用顶级规则。在正文上放置标签以选择主题。这样做的好处是您可以动态更改主题。

<body class="theme-<%= theme_stylesheet %>">
  ...
</body>

_主题_x.css.scss

body.theme-x {
  ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

样式表的条件加载 的相关文章

  • 如何将枚举作为字符串存储到rails中的数据库中

    如何在 ruby 中创建迁移 其中默认值是字符串而不是整数 我想将枚举存储到数据库中 但我不想将其存储为整数 因为这样对于另一个应用程序来说没有意义想要使用同一张桌子 我该怎么做default female 代替default 0 clas
  • 如何构建任务“gems:install”

    我正在将 Rails 应用程序部署到 Linux 服务器 并且缺少一些 rake 任务 包括 rake gems install 和 rake db 我正在运行来自 GEM 的 Rails 2 3 4 为什么是这样 我该如何解决 我可以以某
  • 更新系统后RubyGems错误

    使用 sudo gem update system 更新 ruby 设置后尝试启动 Rails 控制台时 我尝试通过发出以下命令来执行 Rails 控制台rails c 我收到此错误 Users myusername rvm rubies
  • Ruby on Rails:有关 validates_presence_of 的问题

    我的基于 ActiveRecord 的模型中有一个关系 如下所示 belongs to foo 我的模型应该始终在其中定义 foo 才能有效 我的问题是 当使用 validates presence 时 使用哪一个是合适的 validate
  • 可以通过 url 发送 JSON 吗?

    我有一个 ruby 哈希 其中键是 url 值是整数 我将哈希值转换为 JSON 我想知道是否能够通过 AJAX 请求在 url 内发送 JSON 然后从 params 哈希值中提取该 JSON 另外 我将把 JSON 化的 ruby 哈希
  • Rails“where”方法通过子属性查找父级

    我有一个 Rails 应用程序 我试图根据子类的日期创建父类的列表 现在我有 orders Order where order reminders date lt 1 month from now 但我收到一个错误 没有这样的列 order
  • rspec 测试 has_many :through 和 after_save

    我有一个 我认为 相对简单的has many through与连接表的关系 class User lt ActiveRecord Base has many user following thing relationships has ma
  • Rails Structure.sql 和 schema.rb 之间有什么区别

    我知道 schema rb 文件是一个 ruby 文件 它是在运行 rake 迁移时创建和修改的 但是 Structure sql 呢 我在一些项目中看到了 schema rb 在其他项目中看到了 Structure sql 以及在一些这两
  • Rails 4 中如何使用 attr_accessible?

    attr accessible似乎不再在我的模型中工作 Rails 4 中允许批量分配的方法是什么 Rails 4 现在使用参数强 http edgeapi rubyonrails org classes ActionController
  • watir selenium:浏览器构造函数无法识别的参数

    在我的 Rails 应用程序中 我有一个 nokogiri watir 爬虫 运行良好 在我升级了 gems 也升级了例如 selenium 后 当我使用以下命令打开爬虫浏览器时 BROWSER OPTIONS w headless no
  • 如何从另一个 .rb 文件访问模块内和类内的 Ruby 方法

    我想知道如何从另一个 rb 文件访问此模块中的方法 module Decisioning module Decision class OfferProxy lt FinanceApplication Offer def my method
  • 如何检查用户电子邮件的唯一性并将结果传递给 jQuery?

    我有这个问题 我正在控制器中检查用户电子邮件并发送 json 成功响应 如果已获取 并添加输入的 css 样式 我还需要阻止提交并添加一些消息 这是我的检查电子邮件操作 使用本文 http paydrotalks com posts 45
  • RefineryCMS 2.1.0 和 Zurb 4 带有下拉导航的顶部菜单

    我正在尝试使用 Zurb Foundation 来设计使用最新版本的 Refinery 构建的应用程序 我开始遵循本指南 http blog flatironschool com post 54511602806 build a blog
  • 如何为每个数据库连接执行查询

    我目前正在执行以下操作 该操作有效但效率低下 因为它在每个操作之前调用它 class ApplicationController lt ActionController Base before action set intervalstyl
  • Ruby on Rails 中的垃圾收集器?

    我尝试在 Google 上搜索很多有关 Rails 垃圾收集器的信息 但没有得到可靠的答案 有谁有资源来展示如何垃圾收集是在 Rails 中实现的吗 我们怎样才能控制它呢 Rails 是一个框架 而不是一种语言 Rails 背后的语言称为
  • mail_form gem 与 sidekiq 工作者

    怎么做邮件表格gem 与 sidekiq 工作人员一起工作吗 https github com plataformatec mail form https github com plataformatec mail form 我可能做错了什
  • Rails:通过 Ajax 传递参数

    我需要通过 javascript 将参数传递回服务器 目前 我将它们传递给 JavaScript 如下所示 sendParams 然后像这样将它们发回 function sendParams q ajax url mymodel myact
  • Rails - 如何重写设计 SessionsController 以在用户登录时执行特定任务?

    使用 Devise 管理用户会话 注册 每次用户登录时 以及在他被 devise 重定向到连接的主页之前 我需要执行特定任务 例如 更新该特定用户的用户表中的某些字段 用户 我是否必须重写 devise SessionsController
  • Rails API ActiveStorage:获取公共 URL 以显示来自 AWS S3 存储桶的图像?

    我设置了 Rails 5 2 API 并遵循了有关如何将图像附加到模型对象的文档 这一切都工作正常 我遇到的问题是我想在 JSON 对象中返回附件的公共 URL 以便我可以使用该 URL 作为源 img 并让它显示 谢谢 我的develop
  • 对不同的数据库和表进行一次性查询

    我有一个 Rails 应用程序 侧面有一个 WordPress 博客 完全单独位于 blog 客户想要 Rails 应用程序主页上的最新博客文章 因此我需要对 word press 数据库进行一次性 mysql 查询 我将如何在 Rails

随机推荐

  • 当我从服务中调用函数时,“this”未定义

    我的电话上有这个电话component page this timerSessionService startTimer this finish bind this this onSynchronice 嗯 它与this finish 但是
  • 如何禁用Chrome中弹出窗口的位置栏和滚动条?

    对于以下代码 宽度和高度在 Chrome 中有效 但位置和滚动条不起作用 请指导 a href Click Here a 出于安全原因 Chrome 不允许您这样做 隐藏地址栏可以更轻松地假装您是某银行网站 http en wikipedi
  • 日期格式转换 %B %Y

    我们能否以某种方式转换日期 例如 November 2017 December 2017 迄今为止 我尝试导入 csv 数据 但收到了因子列 我尝试了以下代码 但没有成功 as POSIXct as character dat Date f
  • C++ 声明中的显式限定

    当第一个声明被注释掉时 以下命名空间定义无法编译 如果第一个声明foo未注释 那么它编译得很好 namespace Y void foo void Y foo 标准中的相关部分 8 3 1 说 当 declarator id 合格时 声明应
  • Azure Devops Artifacts:禁用从上游源保存包

    我有一个 npm 包的提要 其中 npmjs 设置为上游源 默认情况下 当您尝试使用其他依赖项安装上传的自定义包时 这些依赖项包会自动保存在您的源中 以节省将来安装的时间 然而 我不想要它 并希望我的提要仅托管我自己的软件包 并且每次安装时
  • Android 11 上不再支持发送短信的意图

    当以 Android 11 为目标并使用 Android 11 设备 物理设备或模拟器 时 以下方法不再适用于发送短信 更改目标 SDK 版本或设备 SDK 版本即可使其正常工作 logcat 根本没有说什么 知道为什么它不起作用吗 pri
  • Shopify 应用桥会话令牌在使用 vue.js 和 Axios 时遇到一些问题?

    我在制作 Shopify 应用程序 Vue js 作为前端和 laravel 作为后端时遇到一些问题 我正在使用 app bridge 生成会话令牌 它生成会话令牌正常 并且工作正常 直到重新生成会话令牌 重新生成会话令牌后 它会响应 会话
  • 来自 gluUnProject 的 IllegalArgumentException

    我收到此错误消息 08 30 19 20 17 774 ERROR AndroidRuntime 4681 FATAL EXCEPTION GLThread 9 08 30 19 20 17 774 ERROR AndroidRuntime
  • Swift:以编程方式导航到 ViewController 并传递数据

    我最近开始学习swift 到目前为止还不错 目前 我在尝试在视图控制器之间传递数据时遇到问题 我设法弄清楚如何使用导航控制器以编程方式在两个视图控制器之间导航 唯一的问题是现在我很难弄清楚如何将用户输入的三个字符串 对于 json api
  • 我怎样才能让两个“发展流”(分支?)相互跟踪,同时在特定方面保持不同?

    BRIEF 我想让两个 或更多 开发流 环境相互跟踪 在两个方向上发送彼此之间的更改 而不完全收敛 同时保留某些关键的 本质的差异 细节 一个具体的例子 下面是一个具体的例子 我对我的主目录 glew home 进行版本控制已有 28 年了
  • Angularjs:监听指令中的模型更改

    我试图找出当模型在指令中更新时如何监听 eventEditor directive myAmount function return restrict A link function scope elem attrs scope watch
  • opencv中以下代码行的含义是什么?

    该代码行的含义是什么以及如何将此代码转换为 javacv gray Scalar all 255 这是与此代码行相关的完整代码 Mat src imread in jpg gray cvtColor src gray CV BGR2GRAY
  • 从 iFrame 中卸载/删除内容

    是否有办法卸载已在 iframe 内加载的页面 如果可能的话 我不想将 iframe src 更改为空白页面 我基本上正在寻找可以做这样的事情的东西 frameID attr src 只是该代码似乎没有清除先前加载的页面 有没有 unloa
  • 设置 Let's encrypt with Go - 握手错误

    我正在尝试设置让我们在用 Go 编写的负载均衡器上进行加密 我尝试了自动和手动设置 但总是出错 该域正确指向我们的服务器 Digital Ocean 我什至可以从浏览器打开该网站而不会出现错误 而且 ssl 检查报告该域上没有错误 事实是
  • CSS 动画面临的问题

    我正在尝试创建一个几秒钟后会淡入视图的文本 但我遇到了问题 淡入视图工作正常 但文本在显示后几乎立即消失 其次 我需要这个动画以延迟的方式工作 但是当我设置延迟时 它似乎没有任何区别 早些时候 延迟工作得很好 为什么动画显示后不久就消失了
  • 使用 Spring Security 和 CAS 单点注销

    使用纯 Spring Java 配置 我在让 Spring 和 CAS 执行单点登录时遇到问题 我使用以下配置进行单点登录 我使用一个简单的 JSP 页面对 url 进行表单 POSThttps nginx shane com app lo
  • 线程 1:信号 SIGABRT libc++abi.dylib:以 NSException 类型的未捕获异常终止(lldb)

    我本周开始使用 swift 编程 并尝试在我的应用程序中制作一个简单的导航栏 这不是我第一次遇到这个错误 并且不知道可能缺少什么 如果我没记错的话 我正确地连接了从用户界面到代码的所有内容 但输出显示 libc abi dylib term
  • Chrome 开发者工具 - 浏览器大小?

    我正在使用 Chrome 开发者工具并尝试获取浏览器宽度 以 px 为单位 谷歌最近推出了开发者工具的更新 在这些更新之前 缩放开发者工具时 屏幕高度和宽度通常会出现在网站预览的右上角 但现在无法找出屏幕尺寸 示例如下 现在如何通过 Chr
  • 如何在 CentOS 7 上的 PHP 7.2 上安装 zipArchive?

    我正在尝试在具有最新 WordPress 的 nginx Web 服务器上安装 ziparchive 和 domdocument 为了运行 Avada 主题 我需要在本地 CentOS 7 测试服务器上安装这两个主题 我在过去三天里一直在寻
  • 样式表的条件加载

    我有一个与客户合作的网站 每个客户端都可以有自己的主题 当某个客户端的用户登录时 必须加载公司主题 在 application css scss 中 我为每个公司都有这样一行 import theme x css scss import t