After upgrading my app to Rails 8, my contracts started throwing:
NoMethodError:
undefined method `read_attribute' for an instance of Campaign::Contract::Update
# /Users/mbajur/.local/share/mise/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/reform-rails-0.3.1/lib/reform/form/active_model/validations.rb:235:in `method_missing'
# /Users/mbajur/.local/share/mise/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/activerecord-8.0.4/lib/active_record/associations/builder/belongs_to.rb:134:in `block in define_validations'
# /Users/mbajur/.local/share/mise/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/callbacks.rb:428:in `instance_exec'
# /Users/mbajur/.local/share/mise/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/callbacks.rb:428:in `block in make_lambda'
# /Users/mbajur/.local/share/mise/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/callbacks.rb:177:in `block in call'
# /Users/mbajur/.local/share/mise/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/callbacks.rb:177:in `all?'
# /Users/mbajur/.local/share/mise/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/callbacks.rb:177:in `call'
# /Users/mbajur/.local/share/mise/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/callbacks.rb:559:in `block in invoke_before'
# /Users/mbajur/.local/share/mise/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/callbacks.rb:559:in `each'
# /Users/mbajur/.local/share/mise/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/callbacks.rb:559:in `invoke_before'
# /Users/mbajur/.local/share/mise/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/callbacks.rb:108:in `run_callbacks'
# /Users/mbajur/.local/share/mise/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/activesupport-8.0.4/lib/active_support/callbacks.rb:913:in `_run_validate_callbacks'
# /Users/mbajur/.local/share/mise/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/activemodel-8.0.4/lib/active_model/validations.rb:476:in `run_validations!'
# /Users/mbajur/.local/share/mise/installs/ruby/3.3.5/lib/ruby/gems/3.3.0/gems/activemodel-8.0.4/lib/active_model/validations.rb:367:in `valid?'
I'm on:
- ruby 3.3.5
- reform 2.6.2
- reform-rails 0.3.1
After upgrading my app to Rails 8, my contracts started throwing:
I'm on: