5

Estoy usando la última rama maestra de la gema bootstrap-rails e intento modificar las variables predeterminadas de arranque de una manera que sea compatible con la canalización de activos de rieles.Rails Asset Pipeline y Twitter Bootstrap Gem

Mi archivo joya tiene estas joyas incluyen

gem 'twitter-bootstrap-rails', :git => 'git://github.com/seyhunak/twitter-bootstrap-rails.git' 
gem 'uglifier', '>= 1.0.3' 
gem 'less-rails-bootstrap' 

También incluí en mi archivo *= require bootstrap_and_overridesapplication.css. Soy consciente de que piñones compila cada archivo css de forma individual y, por lo tanto, no puede esperar que varios archivos css se puedan referenciar entre sí. Por lo tanto el archivo bootstrap_and_overrides.css.less incluye lo siguiente:

@import "twitter/bootstrap/bootstrap"; 
body { padding-top: 80px; } 

//background-image: asset-url("background.png"); background-repeat:no-repeat; background-size: cover; } 

@import "twitter/bootstrap/responsive"; 

// Set the correct sprite paths 
@iconSpritePath: asset-path('twitter/bootstrap/glyphicons-halflings.png'); 
@iconWhiteSpritePath: asset-path('twitter/bootstrap/glyphicons-halflings-white.png'); 

// Set the Font Awesome (Font Awesome is default. You can disable by commenting below lines) 
@fontAwesomeEotPath: asset-path('fontawesome-webfont.eot'); 
@fontAwesomeWoffPath: asset-path('fontawesome-webfont.woff'); 
@fontAwesomeTtfPath: asset-path('fontawesome-webfont.ttf'); 
@fontAwesomeSvgzPath: asset-path('fontawesome-webfont.svgz'); 
@fontAwesomeSvgPath: asset-path('fontawesome-webfont.svg'); 

// Font Awesome 
@import "fontawesome"; 

// Your custom LESS stylesheets goes here 
// 
// Since bootstrap was imported above you have access to its mixins which 
// you may use and inherit here 
// 
// If you'd like to override bootstrap's own variables, you can do so here as well 
// See http://twitter.github.com/bootstrap/less.html for their names and documentation 
// 
// Example: 
// @linkColor: #ff0000; 

@navbarHeight: 60px; 
@navbarText: @white; 
@textColor: @orange; 
@navbarLinkColor: @white; 
@navbarBackground: darken(@linkColor, 15%); 
@navbarBackgroundHighlight: @linkColor; 

Sin embargo, ninguno de mis anulaciones de trabajar bajo la tubería de activos. Funcionan bien sin eso. Alguien sabe por qué?

actualización de mis activos Gema Grupo

# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 
    gem 'less-rails' 
    # gem 'twitter-bootstrap-rails', :git => 'git://github.com/seyhunak/twitter-bootstrap-rails.git' 
    # See https://github.com/sstephenson/execjs#readme for more supported runtimes 
    gem 'therubyracer', :platform => :ruby 
    gem 'uglifier', '>= 1.0.3' 
end 
+0

tienes la gema menos carriles en su grupo de activos? – Swift

+0

Sí, tengo una pregunta actualizada con mi grupo de activos gema –

Respuesta

6

Correr rake assets:precompile localmente antes del despliegue resuelto mi problema anterior.

3

En mi caso, el directorio que los motores de tuberías de activos buscan recursos no han puesta en marcha correctamente, causar activos no compilados adecuadamente.

Estoy usando bootstrap-sass, por lo que su situación podría ser diferente. Pero en mi caso, agregar el siguiente código a application.rb resolvió mi problema.

module ApplicationModuleName 
    class Application < Rails::Application 

    config.sass.load_paths = [] 
    config.sass.load_paths << "#{Rails.root}/app/assets/stylesheets" 
    %w(bootstrap-sass jstree-rails jquery-rails).each do |pkg| 
     config.sass.load_paths << "#{Gem.loaded_specs[pkg].full_gem_path}/vendor/assets/stylesheets" 
     config.assets.paths << "#{Gem.loaded_specs[pkg].full_gem_path}/vendor/assets/javascripts" 
    end 
    end 
end 

Trate de ejecución rails console y comprobar el valor de load_paths o algo por el estilo antes de aplicar anterior (feo) .. parches

+0

Los parches anteriores no son válidos porque 'sass' no es un atributo de' config'. Obtengo estos errores: '/app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/railtie/configuration.rb:85:in method_missing: método indefinido sass para # (NoMethodError) ' –

+1

Eliminé módulo y envoltorio de clase en la última publicación. Editó el ejemplo correctamente. – shigeya

+0

Gracias por compartir su enfoque, aunque resolví mi problema ejecutando 'rake assets: precompile' localmente antes de implementar y todo se solucionó. –

0

estoy usando menos de arranque con los carriles de 4.1 y 2.0 rubí, pero me fijo esto añadiendo esto a application.css.scss

*= require_tree . 
*= require bootstrap_and_overrides 
*= require_self 
Cuestiones relacionadas