2010-10-27 22 views
6

J'écris une application sinatra avec haml et sass. Lorsque je tente de créer un lien dans la feuille de style avec une extension de SCSS situé dans mon point de vue dossier, je reçois l'erreur suivante: NoMethodError à /nav.css méthode non définie SCSS'générer un fichier css à partir du nouveau format sass (scss) avec sinatra et haml

Voici ma méthode get

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

Je n'ai obtenu cela que lorsque je suis passé à la syntaxe sass plus ancienne. Je dois aussi changer le nav.scss en nav.sass et la méthode get en sass: nav

J'ai aussi essayé d'avoir sass: nav avec nav.scss et sass: nav avec nav.sass mais toujours la syntaxe scss

Répondre

2

Extrait de Sinatra README

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

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

Devez-vous le joyau de SASS?

Quelle version de Sinatra vous utilisez. Support pour scss a été ajouté en 2010.09.01 (version du jour même a été augmenté de 1.0 à 1.1), peut-être vous avez besoin et mise à jour.

+0

J'ai besoin de la gemme haml. J'ai également essayé d'exiger juste sass et à la fois sass et haml mais pas aucun d'eux a travaillé. Je n'ai aucun problème à rendre les vues haml ou les anciennes feuilles de style de syntaxe sass, mais les nouvelles sont un problème. – Ben

+0

Mise à jour de la réponse :) – kfl62

+0

J'ai installé sinatra au cours de la première semaine d'octobre mais pour une raison quelconque sinatra installer gem fixe le problème – Ben

13

Je n'utilise pas le code ci-dessus à partir du fichier README, il suffit de mettre ce qui suit dans votre fichier app.rb après la mise à jour de votre gemme.

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

Redémarrez votre serveur et vous êtes prêt. Scssing heureux.