我对 Ruby 没有太多经验。我想从数据库而不是文件系统@import sass。我在网上没有找到任何例子。我应该如何实施这一点。我看到我必须扩展一个导入器类,但由于我对 ruby 不了解,我需要知道这个类在我的文件系统中的哪个位置(只是为了检查一下)以及通常涉及的基本步骤是什么。
更多信息
MySQL 数据库包含 sass 内容。因此,在我的 Web 应用程序中,我接受来自用户的 sass(作为字符串),其中可能包含导入语句,例如:
@import test.scss
body { color:red }
现在在我的 MySQL DB 中,我会有这样的东西
Table sass_files
column_name filename | content
example row test.scss | p {color:blue;}
我想让这个导入工作,确保我可以做一个正则表达式匹配以从用户输入中获取文件名,然后通过该文件名查询数据库并获取内容。但我读到有一种很好的方法可以让 ruby/sass 使用 DB 作为加载路径而不是文件系统。
更新
所以我用 find 方法创建了一个虚拟的自定义导入器类
def find(name, options)
Sass::Engine.new("p { color :blue; }", options)
end
如何在不使用 ruby 的情况下将此导入器添加到 sass 加载路径,例如我可以更改 sass gem 文件夹中的源文件并将此导入器添加到 lib/sass/importers 吗?
谢谢