Au lieu de servir mes fichiers Sass de la valeur par défaut dans le répertoire 'vues de Je voudrais changer cela /assets/sass
Comment spécifier le répertoire Sass personnalisé avec Sinatra
Les tentatives suivantes sont dans mon dossier principal de la racine ruby dans l'application :
Tentative 1:
set :sass, Proc.new { File.join(root, "assets/sass") }
get '/stylesheet.css' do
sass :core
end
Avec cela, je reçois l'erreur suivante:
myapp.rb:17 NoMethodError: undefined method `merge' for "/Users/x/x/x/mysinatraapp/assets/sass":String
Tentative 2:
get '/stylesheet.css' do
sass :'/assets/sass/core'
end
Tentative 3:
get '/stylesheet.css' do
sass :'/assets/sass/core'
end
Les deux renvoient l'erreur suivante:
Errno::ENOENT: No such file or directory - ./views/assets/sass/core.sass
Tentative 4:
get '/stylesheet.css' do
sass :'../assets/sass/core'
end
Cela fonctionne! Cependant, il doit y avoir quelque chose dans le genre de set :sass, Proc.new { File.join(root, "assets/sass") }
qui met cela en place pour moi?
Cette réponse ressemble beaucoup, mais je ne peux pas l'air de se rouler - des idées où je vais mal?- http://pastie.org/986956 - Merci beaucoup –
Vous utilisez 'settings.sass_dir' mais' set: sass, ... '. Vous devriez 'set: sass_dir, ...' ('sass' pourrait être utilisé par sinatra et devrait être un hachage, vous devriez donc éviter d'utiliser ce nom). –
@KonstantinHaase Est-ce toujours le meilleur/seul moyen de le faire? Je suis à la recherche d'une (bonne) méthode de rendu des mises en page mobiles selon que le client est un appareil mobile ou non. J'espérais qu'il y avait un moyen de changer le dossier de vues sur une base par route, comme c'est le cas pour la mise en page par défaut. –