使用Rails生成静态CSS文件的最佳方法

时间:2013-03-03 00:30:02

标签: css ruby-on-rails ruby sass less

我是一个rails newb,我正在为我保存CSS片段的一些练习创建一个应用程序。现在,我已经为Entries设置了mvc,我可以在那里完成所有典型的crud。为条目提供标题,说明和CSS代码段。我想使用我保存在数据库中每个条目中的css片段来创建一个完整的所有片段样式表供用户下载。最后,我想提供这个样式表的CSS,LESS和SASS版本,所以你可以选择下载的味道。更进一步,我希望用户能够自定义下载他们下载的文件的CSS / Less / Sass版本的片段,甚至是所有3个文件的压缩文件。

我要挂断的部分是何时以及如何生成文件的方法。为了简单起见,我很好,只需要从CSS文件开始,然后将这些知识应用到稍后创建Less和Sass版本,但如果你也有这方面的提示,那就太棒了。

这个问题的答案给了我一些关于Sass:Engine的见解,但我无法从中得到完整的答案。 Convert SASS to CSS using SASS gem

1 个答案:

答案 0 :(得分:2)

使用Rails,您不仅限于呈现HTML。您可以提供自己的视图,将上下文呈现为text / css,并且浏览器将显示该文件。

如果要将其内联呈现,可以执行以下操作:

def test_css_download
  css = "body { font-family: Arial; }"
  render :text => css, :content_type => "text/css"
end

如果您想让他们将其作为文件下载,您可以像这样使用send_data

def test_css_download
  css = "body { font-family: Arial; }"
  send_data css, :filename => "styles.css", :type => "text/css", :disposition => "attachment"
end

当您访问此路线时,浏览器会将内容下载为文件。