Describe the bug
I have a model with a defined primary key which is not just "id"
class DbfsFile < ActiveRecord::Base
self.primary_key = :file_id
The following line of code assumes an association will have "id" as the primary key
https://github.com/railsadminteam/rails_admin/blob/master/lib/rails_admin/adapters/active_record/object_extension.rb#L16
Resulting in this error
NoMethodError: undefined method `find_by_id' for DbfsFile:Class
Did you mean? find_by
find_by!
find_by_sql
Additional context
Rails 6.1.4.4
rails_admin (3.0.0.beta2)
- full stack trace (if there's an exception)
NoMethodError: undefined method `find_by_id' for DbfsFile:Class
Did you mean? find_by
find_by!
find_by_sql
/.../gems/ruby-3.0.0/gems/activerecord-6.1.4.4/lib/active_record/dynamic_matchers.rb:22:in `method_missing'
/.../gems/ruby-3.0.0/gems/rails_admin-3.0.0.beta2/lib/rails_admin/adapters/active_record/object_extension.rb:16:in `file_id='
/.../gems/ruby-3.0.0/gems/activemodel-6.1.4.4/lib/active_model/attribute_assignment.rb:49:in `public_send'
/.../gems/ruby-3.0.0/gems/activemodel-6.1.4.4/lib/active_model/attribute_assignment.rb:49:in `_assign_attribute'
/.../gems/ruby-3.0.0/gems/activerecord-6.1.4.4/lib/active_record/attribute_assignment.rb:21:in `block in _assign_attributes'
/.../gems/ruby-3.0.0/gems/activerecord-6.1.4.4/lib/active_record/attribute_assignment.rb:13:in `each'
/.../gems/ruby-3.0.0/gems/activerecord-6.1.4.4/lib/active_record/attribute_assignment.rb:13:in `_assign_attributes'
/.../gems/ruby-3.0.0/gems/activemodel-6.1.4.4/lib/active_model/attribute_assignment.rb:34:in `assign_attributes'
/.../gems/ruby-3.0.0/gems/rails_admin-3.0.0.beta2/lib/rails_admin/adapters/active_record/object_extension.rb:24:in `assign_attributes'
/.../gems/ruby-3.0.0/gems/rails_admin-3.0.0.beta2/lib/rails_admin/config/actions/new.rb:38:in `block (2 levels) in <class:New>'
/.../gems/ruby-3.0.0/gems/rails_admin-3.0.0.beta2/app/controllers/rails_admin/main_controller.rb:39:in `instance_eval'
/.../gems/ruby-3.0.0/gems/rails_admin-3.0.0.beta2/app/controllers/rails_admin/main_controller.rb:39:in `action_missing'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/abstract_controller/base.rb:242:in `_handle_action_missing'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/abstract_controller/base.rb:228:in `process_action'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_controller/metal/rendering.rb:30:in `process_action'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
/.../gems/ruby-3.0.0/gems/activesupport-6.1.4.4/lib/active_support/callbacks.rb:117:in `block in run_callbacks'
/.../gems/ruby-3.0.0/gems/actiontext-6.1.4.4/lib/action_text/rendering.rb:20:in `with_renderer'
/.../gems/ruby-3.0.0/gems/actiontext-6.1.4.4/lib/action_text/engine.rb:59:in `block (4 levels) in <class:Engine>'
/.../gems/ruby-3.0.0/gems/activesupport-6.1.4.4/lib/active_support/callbacks.rb:126:in `instance_exec'
/.../gems/ruby-3.0.0/gems/activesupport-6.1.4.4/lib/active_support/callbacks.rb:126:in `block in run_callbacks'
/.../gems/ruby-3.0.0/gems/activesupport-6.1.4.4/lib/active_support/callbacks.rb:137:in `run_callbacks'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/abstract_controller/callbacks.rb:41:in `process_action'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_controller/metal/rescue.rb:22:in `process_action'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
/.../gems/ruby-3.0.0/gems/activesupport-6.1.4.4/lib/active_support/notifications.rb:203:in `block in instrument'
/.../gems/ruby-3.0.0/gems/activesupport-6.1.4.4/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
/.../gems/ruby-3.0.0/gems/activesupport-6.1.4.4/lib/active_support/notifications.rb:203:in `instrument'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_controller/metal/instrumentation.rb:33:in `process_action'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_controller/metal/params_wrapper.rb:249:in `process_action'
/.../gems/ruby-3.0.0/gems/activerecord-6.1.4.4/lib/active_record/railties/controller_runtime.rb:27:in `process_action'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/abstract_controller/base.rb:165:in `process'
/.../gems/ruby-3.0.0/gems/actionview-6.1.4.4/lib/action_view/rendering.rb:39:in `process'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_controller/metal.rb:190:in `dispatch'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_controller/metal.rb:254:in `dispatch'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_dispatch/routing/route_set.rb:33:in `serve'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_dispatch/journey/router.rb:50:in `block in serve'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_dispatch/journey/router.rb:32:in `each'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_dispatch/journey/router.rb:32:in `serve'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_dispatch/routing/route_set.rb:842:in `call'
/.../gems/ruby-3.0.0/gems/railties-6.1.4.4/lib/rails/engine.rb:539:in `call'
/.../gems/ruby-3.0.0/gems/railties-6.1.4.4/lib/rails/railtie.rb:207:in `public_send'
/.../gems/ruby-3.0.0/gems/railties-6.1.4.4/lib/rails/railtie.rb:207:in `method_missing'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_dispatch/routing/mapper.rb:20:in `block in <class:Constraints>'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_dispatch/routing/mapper.rb:49:in `serve'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_dispatch/journey/router.rb:50:in `block in serve'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_dispatch/journey/router.rb:32:in `each'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_dispatch/journey/router.rb:32:in `serve'
/.../gems/ruby-3.0.0/gems/actionpack-6.1.4.4/lib/action_dispatch/routing/route_set.rb:842:in `call'
Describe the bug
I have a model with a defined primary key which is not just "id"
The following line of code assumes an association will have "id" as the primary key
https://github.com/railsadminteam/rails_admin/blob/master/lib/rails_admin/adapters/active_record/object_extension.rb#L16
Resulting in this error
Additional context
railsversion:Rails 6.1.4.4
rails_adminversion:rails_admin (3.0.0.beta2)