Fix destroy_all
for has_many through:
associations that points to a CPK model
#48474
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes
destroy_all
behavior for ahas_many through:
association that points to a model with composite primary key however the association itself uses justid
column to build the referenceSince
primary_key: :id
in association definition means " use theid
column as primary/foreign key Rails should avoid accessing values for the column usingpublic_send
as it ends up calling theid
method which in Rails has special meaning - the identifier or in other words "values behind the primary key columns" which in composite primary key context is not the same asid
column. Instead we are using_read_attribute
which directly fetches the value of theid
column.