2011-10-04 16 views
8

Rails 3.1 varlık borusu hazırlama işleminin üretim modunda çalışmasını sağlayamıyorum. Her zamanki gibi bir hata ile SCSS içinde başvurulan görüntülerde başarısız:Ruby on Rails 3.1 varlıklar: precompile and images

$ bundle exec rake assets:precompile RAILS_ENV=production 
    rake aborted! 
    rails.png isn't precompiled 
    (in /home/florian/AssetTest/app/assets/stylesheets/application.css.scss) 

ben kamu/aktifler dizininde baktığım zaman, görüntü var, bu yüzden precompiled:

$ ls public/assets | grep rails 
    rails-dd352fc2630e5f9aa5685ef1d7fe5997.png 

SCSS Ben görüntü url SCSS içinde yardımcı, ama sadece url ('/ varlıklar/rails.png') kullanmıyorsanız

/* 
* This is a manifest file that'll automatically include all the stylesheets available in this directory 
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at 
* the top of the compiled file, but it's generally better to create a new file per style scope. 
*= require_self 
*= require_tree . 
*/ 

body { 
    background: #ffffff image-url('rails.png') no-repeat 0 center; 
} 

, precompilation çalışıyor ve: bu durumda dosya sadece bazı test kodu içeriyor bir manifest.yml dosyası g kamuya açık/varlıklı.

İlginç olan şudur: SCSS'yi görüntü-url'ye ('rails.png') döndürdüğümde ve başka bir pre-derlemeyi çalıştırırsam, hala çalışır (sanırım görüntü artık manifest dosyasında listelenmiş demektir).

Burada yanlış olan ne yapıyorum? Yardımcı yöntemleri göz ardı etmek istemiyorum (Onları kullanmanız gerektiği gibi, doğru mu?), Ve kesinlikle el ile manifest dosyasını oluşturmak istemiyorum ...

cevap

5

aynı soruna kendim giriyorum.

config.assets.compile = true 

Muhtemelen o set vardır: Bu production.rb yılında, bu deneyebilirsiniz ... Her halükarda

görünüşte Raylar 3.1.0 bir hata olduğunu ve umarım kısa sırayla giderilecektir 'un olması gereken false'a. Ancak, false olarak ayarlanmış olması, yapmaya çalıştığınız zaman SCSS'de varlık yardımcılarını kullandığınızda sorunlara neden olur. Bu değeri true olarak ayarlamak, yardımcıları kullanırken derlemenin düzgün bir şekilde yapılmasına izin veriyor gibi görünüyor.

Bazı ayrıntılar için this issue on github'a bir göz atın.

+1

Rails 3.1.1rc1 github sorununda önerildiği gibi güncelleştirildi ve :-) – fwalch

+2

çalışıyor. Bu yanıt şu nedenle kötü görünüyor: http://stackoverflow.com/questions/8821864/config-assets-compile- gerçek-in-raylar-üretim-neden-değil – Ringo