Comments (14)
It doesn't fix the actual issue, but I added a local monkey-patch to get with_model
running with Rails 7, maybe it's of use to someone else.
# spec/support/with_model.rb
module WithModel
class Model
# Workaround for https://github.com/Casecommons/with_model/issues/35
def cleanup_descendants_tracking
if defined?(ActiveSupport::DescendantsTracker) && !Rails.application.config.cache_classes
ActiveSupport::DescendantsTracker.clear([@model])
elsif @model.superclass.respond_to?(:direct_descendants)
@model.superclass.subclasses.delete(@model)
end
end
end
end
from with_model.
That's much clearer, thanks.
from with_model.
Me too. config.cache_classes = true
is the default in Rails 7.
from with_model.
Same here.
from with_model.
See https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-6-1-to-rails-7-0-spring. It needs to be explicitly set to false
from Rails 7 when Spring is not used.
from with_model.
@waiting-for-dev I read that the opposite way, i.e. it needs to be set to false
in Rails 7 when Spring is used.
from with_model.
@waiting-for-dev I read that the opposite way, i.e. it needs to be set to
false
in Rails 7 when Spring is used.
Yeah, that wording is confusing. See here instead https://guides.rubyonrails.org/configuring.html#config-cache-classes
from with_model.
@airblade, in the end, I think you're right. It should be true
in the test environment, and it should only be false
when Spring is present, as it'll handle cache by itself. So, yeah, I think this should be fixed from with_model
end.
from with_model.
I have the same error with Rails 7.0.2 and the new default config.cache_classes = true
.
Any chance to have this issue fixed @nertzy ?
from with_model.
Thanks for the workaround @stex !
from with_model.
Does #44 fix this issue?
from with_model.
Unfortunately no, I still get the same error... Stex's workaround works like a charm, though.
from with_model.
Related Issues (20)
- undefined method `stub_const' HOT 4
- Feature request: setup model once per per context, not per example HOT 2
- Jenkins Issue HOT 10
- model block should be optional HOT 1
- Compatibility with Active Record 5 HOT 2
- Stage another release for rails 4.2 support HOT 1
- Rails 4.2.1 NameError: constant not defined HOT 2
- Callbacks? HOT 5
- Active Record 5 support HOT 2
- Generated index names on midsize model names are excessively large under AR5+ HOT 1
- Maybe, release? HOT 4
- README needed HOT 1
- Minitest support HOT 6
- Rails 6.1 support HOT 2
- Specs don't run in Ruby 3.1.0 - NoMethodError: super: no superclass method `descendants' for ActiveRecord::Base:Class HOT 3
- Call of cleanup_descendants_tracking cleanup too much models HOT 8
- duplicate model names in sibling contexts pollute each other when one is referenced before defined HOT 2
- Active Record associations don't round-trip properly HOT 1
- ActiveRecord model with has_secure_password causes errors HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from with_model.