2011-09-20 14 views
3

Je suis généralement confus au sujet de Rails 3.2, Sprockets, et Compass.Rails 3.1 Boussole et pignons. Confus

  1. Au sommet de cette article, il dit *= require directives, ne sont plus nécessaires en utilisant Sass-Rails, il suffit d'utiliser @import à la place. Le Github Sass-Rails parle un peu de la fonctionnalité glob @import, mais ne parle pas du tout @import étant le nouveau *= require. Lequel ou combo :( dois-je utiliser?

  2. Ayant coderay.css.sass en vendor/assets/stylesheets et en utilisant @import en application.css.sass importera my_coderay.css.sass? Je ne sais pas parce que je utilise Mixins Compass my_coderay.css.sass (mettant ainsi un @import "compass/css3" à haut de ce fichier) et que je reçois une erreur:
    « fichier à importer introuvable ou illisible: boussole »

  3. Dans ce article il parle de la configuration du moteur de Sass rail kn ow sur le chemin des actifs. Mais je pensais que Sass-Rails déjà enseigne @import où le chemin de l'actif est?

    Aussi lorsque je tente d'inclure la branche 31 de la boussole ...

    gem 'compass', :git => 'git://github.com/chriseppstein/compass.git', :branch => 'rails31'

    Je reçois des erreurs ...
    utilisant la boussole (0.12.0.alpha.0.22e2458) de git: //github.com/chriseppstein/compass.git (at rails31) /Users/george.norris/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb : 365: dans `initialize ': aucun fichier ou répertoire de ce type - /Users/george.norris/.rvm/gems/ruby-1.9.2-p180/bundler/gems/gems/compass-0.12.0.alpha.0.22e2458/bin/compass (Errno :: ENOENT)

  4. Et enfin, si je prends coderay.css.sass sur le fournisseur/actifs et le mettre dans l'application/actifs, je ne reçois pas l'erreur ci-dessus. Mais j'obtiens c'est cracher des erreurs dans public/application.css.css (.css.css ???)

    Erreur de syntaxe: Fichier à importer introuvable ou illisible: base. chemins de charge: Compass :: SpriteImporter /Utilisateurs/geonorr/Sites/quasars/public/stylesheets/SASS /Utilisateurs/geonorr/Sites/quasars/app/assets/stylesheets /Users/geonorr/.rvm/gems/ ruby-1.9.2-p180/gems/boussole-0.11.5/frameworks/blueprint/stylesheets /Users/geonorr/.rvm/gems/ruby-1.9.2-p180/gems/compass-0.11.5/frameworks/ boussole/feuilles de style en ligne 3/utilisateurs/geonorr/Sites/Quasar/app/

J'utilise Rails (3.1.0), Sass (3.1.7), Sass-Rails (3.1.0), Boussole (0.11.5)


Merci pour la réponse. Sentez-vous comme si je me rapproche ...
Y compris Compass Maître Branch et d'obtenir cette erreur:

gem 'compass', :git => 'git://github.com/chriseppstein/compass', :branch => 'master'

utilisant la boussole (0.12.alpha.0.d03d529) à partir git: // GitHub.com/chriseppstein/compass (au niveau du maître) /Users/gnee/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:365:in initialize': No such file or directory - /Users/gnee/.rvm/gems/ruby-1.9.2-p180/bundler/gems/gems/compass-0.12.alpha.0.d03d529/bin/compass (Errno::ENOENT) from /Users/gnee/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:365:in open ' de /Users/gnee/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:365:in shebang' from /Users/gnee/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:456:in app_script_text »

+0

FYI, la branche des rails de la boussole 3.1 a disparu. Il est très difficile de trouver des informations sur ce qui se passe avec ce projet. – twmills

+0

Ok c'est pourquoi le bundler échouait. Oui, toutes les informations sur ce projet semble obsolète. –

Répondre

3
  1. * = Exiger des commentaires peut être vu comme une solution de contournement hacky du point de vue de Sass, parce que Sass a une fonction de langage dédié pour cela: la directive @import. @import indique à Sprockets quoi faire. Lorsque vous migrez à partir d'un projet Rails 3.0, laissez toutes les instructions @import telles qu'elles sont. Pour le moment, le seul gotcha est "globbing": Comment dire à Rails/Sprockets de considérer aussi d'autres fichiers Sass que application.css.s (ac) ss.

    Voici the latest Compass installation guide pour Rails 3.1. Il aborde également le problème de globbing.

  2. Comme il est dit dans les Rails Guide, app/assets, lib/assets ou vendor/assets répertoires dans votre application, ainsi que dans vos pierres précieuses/moteurs sont inclus dans Rails.application.config.assets.paths. J'ai vérifié que + l'opacité (.5) de la bibliothèque boussole/css3 fonctionne comme prévu si vous installez la boussole correctement. Ce qui nous amène au point suivant:

  3. La branche rails31 est maintenant fusionnée en master et la version 0.12.alpha qui devrait supporter Rails 3.1 a été publiée. Cependant, cette version n'est pas encore sans bugs. Je recommande donc de compter sur la nouvelle version du maître: «nulle méthode non définie [] »

    gem 'compass', git: 'git://github.com/chriseppstein/compass', branch: 'master'

  4. Le seul bug je rencontre en ce moment est une exception lorsque vous essayez de compiler des déclarations qui créent sprites. Voir this issue. Une solution de contournement pour ce qui est de mettre sass_options = {quite: true} dans votre config/compass.rb

De plus Note: Je n'ai pas Sass dans mon Gemfile plus. Je pense que vous pouvez supprimer cette dépendance en s'appuyant sur sass-rails.

+0

'@import dit à Sprockets quoi faire'. La page Sass-Rails ne dit vraiment rien à ce sujet. Y a-t-il des ressources qui couvrent cela? Googling à la mort pas de chance. –

+1

Le créateur de la boussole [annoncé ici] (https://github.com/chriseppstein/compass/issues/337#issuecomment-1030655): "Ce que nous ferons, c'est de faire en sorte que les directives de Sass @ import trouvent des choses via des pignons. N'avez pas besoin d'utiliser des commentaires hacky pour accomplir ce comportement.Sass a déjà implémenté cette fonctionnalité, nous avons juste besoin de la coller ensemble. " ... et voici le résultat: https://github.com/rails/sass-rails/blob/master/lib/sass/rails/importer.rb – crispy