我正在用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语法
答案 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),也许您需要并更新。