seyhunak / twitter-bootstrap-rails

Twitter Bootstrap for Rails 6.0, Rails 5 - Rails 4.x Asset Pipeline
https://github.com/seyhunak/twitter-bootstrap-rails
4.5k stars 999 forks source link

Eager loading is not working correctly #895

Closed jcoyne closed 8 years ago

jcoyne commented 8 years ago

When running an application with twitter-bootstrap-rails in production mode, the application won't start and I get the following error:

  Message from application: No such file to load -- badge_label_helper (LoadError)
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `require'
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `block in require'
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:240:in `load_dependency'
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `require'
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:360:in `require_or_load'
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:317:in `depend_on'
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:233:in `require_dependency'
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/railties-4.2.5/lib/rails/engine.rb:472:in `block (2 levels) in eager_load!'
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/railties-4.2.5/lib/rails/engine.rb:471:in `each'
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/railties-4.2.5/lib/rails/engine.rb:471:in `block in eager_load!'
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/railties-4.2.5/lib/rails/engine.rb:469:in `each'
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/railties-4.2.5/lib/rails/engine.rb:469:in `eager_load!'
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/railties-4.2.5/lib/rails/engine.rb:346:in `eager_load!'
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/railties-4.2.5/lib/rails/application/finisher.rb:56:in `each'
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/railties-4.2.5/lib/rails/application/finisher.rb:56:in `block in <module:Finisher>'
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/railties-4.2.5/lib/rails/initializable.rb:30:in `instance_exec'
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/railties-4.2.5/lib/rails/initializable.rb:30:in `run'
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/railties-4.2.5/lib/rails/initializable.rb:55:in `block in run_initializers'
  /usr/local/lib/ruby/2.2.0/tsort.rb:226:in `block in tsort_each'
  /usr/local/lib/ruby/2.2.0/tsort.rb:348:in `block (2 levels) in each_strongly_connected_component'
  /usr/local/lib/ruby/2.2.0/tsort.rb:429:in `each_strongly_connected_component_from'
  /usr/local/lib/ruby/2.2.0/tsort.rb:347:in `block in each_strongly_connected_component'
  /usr/local/lib/ruby/2.2.0/tsort.rb:345:in `each'
  /usr/local/lib/ruby/2.2.0/tsort.rb:345:in `call'
  /usr/local/lib/ruby/2.2.0/tsort.rb:345:in `each_strongly_connected_component'
  /usr/local/lib/ruby/2.2.0/tsort.rb:224:in `tsort_each'
  /usr/local/lib/ruby/2.2.0/tsort.rb:203:in `tsort_each'
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/railties-4.2.5/lib/rails/initializable.rb:54:in `run_initializers'
  /opt/goldenseal/shared/bundle/ruby/2.2.0/gems/railties-4.2.5/lib/rails/application.rb:352:in `initialize!'
  /opt/goldenseal/releases/20160104210325/config/environment.rb:5:in `<top (required)>'
  config.ru:3:in `require'
  config.ru:3:in `block in <main>'
jcoyne commented 8 years ago

I wonder why there are explicit requires to these helpers:

https://github.com/seyhunak/twitter-bootstrap-rails/blob/665e50e7511d5418fbcf76ccb15c593f953d197a/lib/twitter/bootstrap/rails/engine.rb#L4-L8

but not one for badge_label_helper?

jcoyne commented 8 years ago

This was due to another gem using twitter-bootstrap-rails, but not requiring it first.