Comments (4)
This is the expected behavior.
from rails.
Just to be clear #50396 might change that, but right now this is the expected behavior. If that PR changes it we will have to document it, but at the moment this isn't an issue.
from rails.
Edit: side note of an issue that popped up along with it:
It might be a good idea to document that passing a relation will result in immediate database access in connected_to
How about adding a sentence like:
Please be aware, that passing a relation in a
connected_to
block will immediately load the entire relation
from rails.
For anyone encountering this issue in the future, a workaround is to define the methods on ActiveRecord::Relation
instead of on your model:
-class ApplicationRecord
- def self.replica_find_each(...)
+class ActiveRecord::Relation
+ def replica_find_each(...)
ActiveRecord::Base.connected_to(role: :replica) do
find_each(...)
end
end
end
+ApplicationRecord.delegate :replica_find_each, to: :all
This way, the method itself still uses the correct scope, but the scope does not leak into the method body or passed block.
from rails.
Related Issues (20)
- Add .test to default allowed host in development mode HOT 1
- Use ruby file: ".ruby-version" when possible HOT 6
- Exceptions raised from templates should show template code not compiled methods HOT 6
- Syntax errors are not presented correctly in ERB templates HOT 1
- Missing view template error page example does not account for nested controller paths HOT 1
- DatabaseTasks run in both development and test environments when RAILS_ENV=development HOT 3
- Rails 7.1.* Deserializes Date Range with Infinities incorrectly with Postgres adapter HOT 2
- ActionDispatch `recognize_path` trips over domain constraints HOT 2
- `update_all` raises an exception with an empty list of attributes but `update` not HOT 1
- ActionView::Template::Error (undefined method `variant' for an instance of ActiveStorage::Attached::One): HOT 3
- Rails 7.1: `ActiveRecord::Base#query_constraints` and composite keys are incompatible with ActiveStorage HOT 1
- Array primary keys (e.g. composite) break `collection_singular_ids` method when using preload HOT 2
- Setter sometimes doesn't update the changes, and therefore, doesn't save later on. HOT 4
- url_for helper incorrectly combines query parameters on routes with a default parameter HOT 3
- find_or_create_by! behavior raises RecordNotFound in Rails 7.1 HOT 4
- Default docker setup is not resilient to host abrupt shutdown (ex. power loss). Puma won't due to uncleaned PID file. HOT 3
- ActiveRecord queries against an unmigrated database breaks Zeitwerk HOT 3
- 7.1.3.2 may have broken stimulus controllers HOT 3
- Setting an assets prefix leads to 405 errors on POST requests HOT 1
- `Model.query_constraints` with a single non-primary-key column raises a confusing error
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 rails.