Twitter Bootstrap ma nieprawidłową CSS według Rails rurociągu 3,1 aktywów podczas prekompilacji?

głosy
8

I stworzył nowiutkie Rails 3.1 aplikacji. Dodałem twitter bootstrap pliku CSS w app / assets / stylów / bootstrap.min.css. Oto odpowiedni kod

app / assets / stylów / application.css (zawiera drzewo, więc bootstrap jest w zestawie)

/*
 * 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 (zawiera execjs i therubyracer dla kompilacji / okład)

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

Potem uruchom zadanie natarcia do precompile aktywów

rake assets:precompile

to nie powiedzie się z powodu następującego błędu

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

CSS, który znajduje się w pliku bootstrap ( .inputs lista-Li + li to selektor).

Jeśli jednak biegnę

rake assets:precompile RAILS_ENV=development

teraz działa dobrze. Okazuje się, że jeśli zmienię config / Środowiska / production.rb aby nie kompresować pliki:

config.assets.compress = false

wówczas komenda działa zbyt oryginalna (bez określania środowisko programistyczne).

Tak więc, w jaki sposób wyśledzić ten błąd? Mogę żyć tylko wyłączyć kompresję na teraz, ale najwyraźniej coś jest nie tak. Jest on Rails? Zębatki? Ruby Racer? Uglifier?

Utwórz 06/10/2011 o 17:55
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
4

Naprawiłem to przy użyciu non-minified wersji startowej. To będzie wciąż opracowywane podczas pracy rake assets:precompile, więc nie jest to problem :)

Odpowiedział 17/10/2011 o 15:34
źródło użytkownik

głosy
6

Polecam przy użyciu jednej z bibliotek, które zamienia bootstrap do Sass i włącza go do rurociągu aktywów. W ten sposób dostaniesz JS włączone, można zmienić zmienne Bootstrap zastosowań w pliku preboot.scss i można wybierać, które funkcje do włączenia. Będziesz także być w stanie zaktualizować za pomocą Bundler.

Używam bootstrap-Sass i działa świetnie: https://github.com/thomas-mcdonald/bootstrap-sass

Odpowiedział 17/10/2011 o 15:37
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more