我是一个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
答案 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
当您访问此路线时,浏览器会将内容下载为文件。