2011-10-06 11 views
8

Yeni bir Rails 3.1 uygulaması oluşturdum. Twitter bootstrap CSS dosyasını app/assets/stylesheets/bootstrap.min.css dosyasına ekledim. (Önyükleme dahildir böylece ağacı içerir) İşte app/varlıklar/stil/application.cssTwitter bootstrap'in ön derleme sırasında Rails 3.1 varlık boru hattına göre geçersiz CSS var mı?

ilgili kod

/* 
* 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 . 
*/ 

Gemfile

group :development, :qa do 
    gem 'execjs' 
    gem 'therubyracer' 
end 
# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.1.0' 
    gem 'coffee-rails', '~> 3.1.0' 
    gem 'uglifier', '>= 1.0.3' 
end 
(derleme/kompres için execjs ve therubyracer içerir) 'dir

Sonra varlıklarını

rake assets:precompile 

bu f derleme tırmık görevi çalıştırmak CSS önyükleme dosyasında olduğunu

Invalid CSS after ".inputs-list li+": expected number or function, was "li" 

olduğunu aşağıdaki hatayla yerli diziler (".inputs listem li + li" seçicidir). Ben

rake assets:precompile RAILS_ENV=development 

çalıştırırsanız

Ancak şimdi gayet iyi çalışıyor.

config.assets.compress = false 

sonra orijinal komutu (geliştirme ortamı belirtmeden) çok çalışır: Ben config/ortamları/production.rb değiştirirseniz dosyaları sıkıştırmak değil çıkıyor.

Hatayı nasıl izlerim? Şu an için sıkıştırmayı kapatmakla yaşayabilirim, ama belli ki bir şeyler yanlış. Raylar mı? Çarklar? Ruby Racer? Uglifier?

cevap

4

Bunu, Bootstrap'in indirgenmemiş sürümünü kullanarak düzelttim. rake assets:precompile çalışırken derlenmeye devam ediyor, bu yüzden sorun değil :)

+0

ben de olmayan minified versiyonunu denedik düşünce - ve hala çalışma değildi. Cevabını kabul edeceğim, eğer bunu gerçekten denemeyi unutmuşsam. Her halükarda, bugün bir ray 3.1.1 uygulamasında tekrar denedim ve iyi çalıştı. Hem minör hem de indirgenmemiş verimler. – davekaro

+0

Rails 3.1.1'de bunun iyi çalıştığını bilmek isterim :) – Ian

6

Önyüklemeyi sass'e dönüştüren ve onu varlık boru hattına dahil eden kitaplıklardan birini kullanmanızı öneririm. Bu şekilde, JS'yi dahil edersiniz, bootstrap'in preboot.scss dosyasında kullandığı değişkenleri değiştirebilir ve hangi özelliklerin ekleneceğini seçebilir ve seçebilirsiniz. Ayrıca, paketleyiciyi kullanarak da yeni sürüme geçebilirsiniz.

ben önyükleme-küstahlığı kullanmak ve o inşaat büyük: https://github.com/thomas-mcdonald/bootstrap-sass

+0

Bunu düşündüm ... ama o zaman istemediğim daha karmaşık bir şey. Sadece CSS dosyasını bırakıp bitirmek istedim. – davekaro

+1

Bu yöntemi onaylıyorum. – nobody