Ruby on rails 通过http而不是文件系统导入SASS部分

Ruby on rails 通过http而不是文件系统导入SASS部分,ruby-on-rails,ruby,http,import,sass,Ruby On Rails,Ruby,Http,Import,Sass,我有一个rails项目,我想根据用户变量动态创建一个sass文件(作为用户自定义站点的一种方式)。我需要通过http将该文件@import到站点的主sass文件中,因为它是动态生成的,而不是实际写入文件系统 如何配置:load_paths指令,让SASS通过http而不是通过文件系统查找该文件 文件上说这是可能的,但我在网上找不到任何例子。 本文档讨论的是您可以实现自己的导入器;HTTP就是一个例子。幸运的是,这样做并不太困难 在这里,我实现了一个简单的HTTP导入器: 它不会像可能的那样积极地

我有一个rails项目,我想根据用户变量动态创建一个sass文件(作为用户自定义站点的一种方式)。我需要通过http将该文件@import到站点的主sass文件中,因为它是动态生成的,而不是实际写入文件系统

如何配置:load_paths指令,让SASS通过http而不是通过文件系统查找该文件

文件上说这是可能的,但我在网上找不到任何例子。

本文档讨论的是您可以实现自己的导入器;HTTP就是一个例子。幸运的是,这样做并不太困难

在这里,我实现了一个简单的HTTP导入器:

它不会像可能的那样积极地缓存,而且您应该知道,除了文件系统之外,Sass还将使用它来查找所有导入(如果您使用Compass这样的框架,其中有很多)。如果需要更高的性能,在这种情况下可能应该缓存故障。不过,它似乎在我的测试中起作用

只需要求
sass_http.rb
文件,然后将其添加到加载路径即可使用:

require 'sass_http'
Sass::Plugin.options[:load_paths] ||= []
Sass::Plugin.options[:load_paths] << Sass::Importers::HTTP.new("http://stylesheets.example.com/")
需要“sass\u http”
Sass::Plugin.options[:加载路径]| |=[]

Plugin.options[:load_path]嘿,你的导入语句看起来怎么样?