使用sinatra和haml从新的sass格式(scss)生成css文件

时间:2010-10-27 04:12:08

标签: ruby sinatra haml sass

我正在用haml和sass写一个sinatra应用程序。当我尝试使用位于我的views文件夹中的scss扩展名链接样式表时,我收到以下错误:/nav.css中的NoMethodError未定义方法`scss'

这是我的get方法

get '/nav.css' do 
    content_type 'text/css', :charset => 'utf-8'
    scss :nav
end

当我切换到较旧的sass语法时,我才能使用它。我还必须将nav.scss更改为nav.sass,将get方法更改为sass:nav

我也尝试过使用sass:nav使用nav.scss和sass:nav with nav.sass但仍然是scss语法

2 个答案:

答案 0 :(得分:13)

我不使用自述文件中的上述代码,只需在更新宝石后将以下代码放入app.rb文件中。

get '/stylesheets/:name.css' do
 content_type 'text/css', :charset => 'utf-8'
 scss(:"stylesheets/#{params[:name]}")
end

重新启动服务器,你就完全了。快乐的Scssing。

答案 1 :(得分:2)

摘自Sinatra README

## You'll need to require haml or sass in your app
require 'sass'

get '/stylesheet.css' do
  scss :stylesheet
end

你需要sass宝石吗?

您使用的是什么版本的Sinatra。在2010.09.01中添加了对scss的支持(当天版本从1.0增加到1.1),也许您需要并更新。