| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Since #29301, `arel_attribute` respects a custom table name.
|
|
|
|
|
|
|
|
|
| |
The order of scope evaluation should be from through scope to the
association's own scope. Otherwise the association's scope cannot affect
to through scope.
Fixes #13677.
Closes #28449.
|
|
|
|
|
|
|
|
| |
Defined scope treats nil as `all`, but scope in associations isn't so.
If the result of the scope is nil, most features on associations will be
broken. It should treat nil as `all` like defined scope.
Fixes #20823.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without this fix, preloading `:comments_with_include` will cause the
following error:
```
% bundle exec ruby -w -Itest test/cases/associations/eager_test.rb -n test_eager_with_has_many_through_join_model_with_include
Using sqlite3
Run options: -n test_eager_with_has_many_through_join_model_with_include --seed 1502
E
Error:
EagerAssociationTest#test_eager_with_has_many_through_join_model_with_include:
ActiveRecord::AssociationNotFoundError: Association named 'post' was not found on Post; perhaps you misspelled it?
```
|
|
|
|
|
| |
There were similar pull requests #26370 #27575 fixed by different way
by moving `require "models/post"` before `require "models/comment"`
|
| |
|
|\
| |
| | |
Fix `COUNT(DISTINCT ...)` with `ORDER BY` and `LIMIT`
|
| | |
|
|\ \
| |/
|/| |
Fix `counter_cache` double increment
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When an `after_create` callback did `update_attributes` on a record with
multiple `belongs_to` associations with counter caches, even numbered
associations would have their counters double-incremented. Fixes to
`ActiveModel::Dirty` in 020abad fixed this.
This adds regression tests for this bug fixed incidentally in the other
commit, which also removed the need for the workaround using
@_after_create_counter_called.
|
|/ |
|
|
|
|
|
|
|
| |
Since 5c71000, it has lost to be able to unscope `default_scope` in STI
associations. This change will use `.empty_scope?` instead of
`.values.empty?` to regard as an empty scope if only have
`type_condition`.
|
| |
|
|\
| |
| | |
Add a test case for overwriting existing condition on associations
|
| |
| |
| |
| |
| |
| |
| |
| | |
Overwriting existing condition on associations has already supported
(23bcc65 for eager loading, 2bfa2c0 for preloading).
Fixes #27724.
Closes #29154.
|
|/
|
|
|
| |
`FakeKlass` in `relation_test.rb` and `relation/mutation_test.rb` are
almost the same.
|
| |
|
|
|
|
|
| |
This reverts commit 3420a14590c0e6915d8b6c242887f74adb4120f9, reversing
changes made to afb66a5a598ce4ac74ad84b125a5abf046dcf5aa.
|
| |
|
|\
| |
| | |
Remove unused `Subject` model in tests
|
| |
| |
| |
| | |
Because `subjects` table doesn't exist.
|
|\ \
| | |
| | | |
`Relation#locked?` should not build arel
|
| | |
| | |
| | |
| | |
| | | |
The delegation was needed since passing `relation` with
`relation.bound_attributes`. It should use `relation.arel` in that case.
|
|/ /
| |
| |
| |
| |
| | |
Covering #27994 in tests.
Closes #27994.
|
|/
|
|
|
| |
`belongs_to :developer` on `Comment` model was added in 431f8e0 but it
is unused.
|
| |
|
|\
| |
| | |
Extract `NumericData` model for tests
|
| |
| |
| |
| |
| |
| | |
`attribute :world_population, :integer` is not a same with default
decimal without scale type unless #26302 is merged.
Should be `attribute :world_population, :big_integer` for now.
|
| |
| |
| |
| | |
Currently `NumericData` model is defined some places.
|
| | |
|
|\ \
| | |
| | |
| | | |
Fix association with extension issues
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This fixes the following issues.
* `association_scope` doesn't include `default_scope`. Should use `scope` instead.
* We can't use `method_missing` for customizing existing method.
* We can't use `relation_delegate_class` for sharing extensions. Should extend per association.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
kamipo/refactor_enum_to_use_value_instead_of_label
Refactor enum to use `value` instead of `label` in the scope
|
| |/ / |
|
|\ \ \
| | | |
| | | | |
Delegate `ast` and `locked` to `arel` explicitly
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently `ast` and `locked` are used in the internal but delegating to
`arel` is depend on `method_missing`. If a model class is defined these
methods, `select_all` will be broken.
It should be delegated to `arel` explicitly.
|
|/ / |
|
| |
| |
| |
| |
| | |
Since we have been using this `Arel::Table` since 111ccc832bc977b15af12c14e7ca078dad2d4373,
in order to properly handle queries, it's important that we properly type cast arguments.
|
| |
| |
| |
| |
| | |
Cannot call private methods in `@klass` against `CollectionProxy`
(inherites `Relation`) because using `public_send` in `method_missing`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`ClassSpecificRelation` has `method_missing` and the `method_missing` is
called first. if an associated class has the missing method in a
relation, never reach to the `method_missing` in the `CollectionProxy`.
I extracted `DelegateExtending` and included it to the delegate class
that including `ClassSpecificRelation` to fix the issue.
Fixes https://github.com/rails/rails/pull/28246#issuecomment-296033784.
|
| |
| |
| |
| |
| |
| | |
The issue #20802 has been fixed in cc0b566.
Closes #20802.
|
| |
| |
| |
| |
| |
| |
| | |
Extension methods should not delegate to `scope` to respect dirty
target on `CollectionProxy`.
Fixes #28419.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
```
go get -u github.com/client9/misspell/cmd/misspell
misspell -w -error -source=text .
```
|
| |
| |
| |
| | |
Fixes #27666.
|
| |
| |
| |
| |
| |
| |
| |
| | |
The idea of `class_name` as an option of reflection is that passing a
string would allow us to lazy autoload the class.
Using `belongs_to :client, class_name: Customer` is eagerloading models more than necessary
and creating possible circular dependencies.
|
| | |
|
| |
| |
| |
| | |
Actually, private methods cannot be called with `self.`, so it's not just redundant, it's a bad habit in Ruby
|
| |
| |
| |
| |
| |
| |
| | |
https://github.com/rails/rails/issues/26834
This change raises an error if a has_many through association
is defined before the through association.
|
|\ \
| | |
| | | |
Remove duplicated model class definitions in `test/cases/base_test.rb`
|