2016-04-26 20 views
0

In meinem Rails-4-Projekt, ich habe in meinem Gemfile ..SASS Compass Bildbreite und Bildhöhe nicht in Rails arbeiten 4

gem 'sass-rails', '~> 4.0.3' 
gem 'compass-rails' 

... dieses in meiner application.sass Datei ...

@import "compass" 

... und dies in meiner SASS style.sass Datei ...

.background 
    $image: asset-path("my-image.jpg") 
    background: url($image) 
    width: image-width($image) 
    height: image-height($image) 

Mit dem obigen Code, Ich erhalte diese Fehler in meinem Browser ...

Error compiling CSS asset, Type error: no implicit conversion of nil into String (in /Users/.../style.sass) 

Es scheint, dass die Kompass-Funktionen von image-width und image-height nicht in der Lage sind, die my-image.jpg Datei zuzugreifen. Wenn ich sie kommentiere, bin ich in der Lage, das Bild zu bekommen, aber bin nicht in der Lage, seine Breite & Höhe mit Compass zu verwenden. Ich würde sehr gerne diese Compass-Funktionalität verwenden können. Vielen Dank.

+0

Ich habe dann 'Gem' Sass-Rails 'geändert,' ~> 4.0.3'' zu 'Gem' Sass-Rails''' (& gebündelt) und ich bekomme immer noch den gleichen Fehler. – Matt

+0

Was ist das Ergebnis des Asset-Pfad-Aufrufs? Die Funktionen image-width und image-height erwarten einen Pfad, der relativ zu dem ist, auf dem Ihr image_path eingestellt ist. Config.rb – cimmanon

+0

Ich erhalte das gewünschte Bild vom Asset-Pfad-Aufruf. – Matt

Antwort

1

Haben Sie das versucht?

.background 
    $image: "my-image.jpg" 
    background: image-url($image) 
    width: image-width($image) 
    height: image-height($image) 

Ich denke, es liegt daran, Kompass Bildbreite und Bildhöhe bereits berücksichtigen, die Asset-Pipeline. Habe Spaß.

+0

Okay, das schien zu funktionieren! Vielen Dank! – Matt