Hi guys,
thanks for the gem.
I noticed strange thing within my Rails 5.0.1 application.
Then I found the same issue already was discussed in Rails community.
I found out that in my application it was ransack who forces ActiveRecord::Base loading.
I placed this code in my bin/rails to trace class definition:
trace = TracePoint.new(:class) do |tp|
if tp.path == '/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.0.1/lib/active_record/base.rb'
puts caller.join("\n")
raise # to exit immediately
end
end
trace.enable
It gives me
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.0.1/lib/active_record/base.rb:24:in `<module:ActiveRecord>'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activerecord-5.0.1/lib/active_record/base.rb:24:in `<top (required)>'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `require'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `block in require'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `require'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/ransack-1.8.2/lib/ransack.rb:13:in `<module:Ransack>'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/ransack-1.8.2/lib/ransack.rb:7:in `<top (required)>'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/bundler-1.15.0/lib/bundler/runtime.rb:82:in `require'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/bundler-1.15.0/lib/bundler/runtime.rb:82:in `block (2 levels) in require'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/bundler-1.15.0/lib/bundler/runtime.rb:77:in `each'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/bundler-1.15.0/lib/bundler/runtime.rb:77:in `block in require'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/bundler-1.15.0/lib/bundler/runtime.rb:66:in `each'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/bundler-1.15.0/lib/bundler/runtime.rb:66:in `require'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/bundler-1.15.0/lib/bundler.rb:108:in `require'
/Users/aleksey/projects/net/netology/config/application.rb:8:in `<top (required)>'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/commands/commands_tasks.rb:156:in `require'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/commands/commands_tasks.rb:156:in `require_application_and_environment!'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/commands/commands_tasks.rb:77:in `console'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/railties-5.0.1/lib/rails/commands.rb:18:in `<top (required)>'
bin/rails:18:in `require'
bin/rails:18:in `<main>'
/Users/aleksey/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/bundler-1.15.0/lib/bundler/runtime.rb:85:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'ransack'. (Bundler::GemRequireError)
When I comment gem 'ransack' in my Gemfile everything works fine, i.e. ActiveRecord::Base.belongs_to_required_by_default == true.
Is there any way to use active_support load hooks?
Thank you.
I found #719 which aims to solved this issue.
But there was no release since it has been merged.
I tried to use master branch, it solves the issue.
Do you have any plans about new release?
Yes the new release will be out soon. Sorry for the delay: there is a cleanup going on.
1.8.3 has been released.
Most helpful comment
1.8.3 has been released.