Padrino,指南针和heroku的只读文件系统

时间:2010-08-04 00:46:15

标签: ruby heroku compass-sass padrino

我非常喜欢padrino'正常使用指南针的方式但我有几个问题,因为我将使用 heroku (以及他们的只读文件系统< / em>)托管

  1. 从外观上看,如果对sass文件进行了更改并且用户点击了服务器,则padrino / compass组合仅编译sass。 这是真的吗?

  2. 如果是这样的话,我认为一旦应用程序处于生产模式,我就不必担心罗盘试图写入文件系统,因为我不会对其进行任何更改我们在服务器上的sass文件?

  3. 除了对sass文件进行的更改之外,还有其他任何情况会导致padrino / compass写入文件系统吗?

  4. 如果我在问题2中做出的假设是错误的,那么如何防止padrino / compass写入文件系统?

  5. Nathan Weizenbaum(Sass成名)advised me使用Sass :: Plugin :: Rack,结合sinatra,sass,指南针和heroku,但经过深思熟虑,我认为最好的选择(满足我的需求)至少)是通过链接到我的静态css文件而不在我的路由中调用sass来阻止sass进行任何类型的服务器端编译

    我注意到 compass_plugin.rb (由padrino生成器创建)需要“Sass:Plugin :: Rack”

    直到明天晚上我才能推进到heroku所以我正试图找到我可能遇到的任何问题

    [我会在padrino邮件上问同样的问题]

3 个答案:

答案 0 :(得分:4)

在解决此问题的padrino mailing列表上找到答案

if Padrino.env == :production
   Sass::Plugin.options[:never_update] = true
end

# right before
Compass.configure_sass_plugin!
Compass.handle_configuration_change! 

它对我有用

答案 1 :(得分:1)

我有一个使用Rails和Compass的新项目,每次我推送到heroku时,似乎指南 尝试写入文件系统。我在每次更新后访问该页面时都会收到“我们很抱歉,但出现了问题”的警告。

尽管所有css文件都已存在,但仍会发生这种情况。传递奇怪。

答案 2 :(得分:1)

Heroku最近发布了一篇名为Using Compass on Heroku的博文,鼓励用户将tmp目录用于已编译的样式表。