【发布时间】:2012-11-13 13:45:44
【问题描述】:
我对 Ruby 没有太多经验。我想从数据库而不是文件系统 @import sass。我在网上没有找到任何例子。我应该如何实施这一点。我看到我必须扩展一个导入器类,但由于我对 ruby 不了解,我需要知道这个类在我的文件系统中的哪个位置(只是为了检查一下)以及一般涉及的基本步骤是什么。
更多信息
MySQL 数据库包含 sass 内容。 因此,在我的 Web 应用程序中,我接受来自用户的 sass(作为字符串),其中可能包含导入语句,例如:
@import test.scss
body { color:red }
现在在我的 MySQL 数据库中,我将拥有类似的东西
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 吗?
谢谢
【问题讨论】:
-
您使用的是哪个数据库?它是什么样的文件?我不确定这个问题是否清楚。考虑添加更多细节、示例和伪代码,以更好地阐明您的要求。
标签: ruby sass compass-sass