Skip to content

Validations: Default context based on persistence#469

Open
seanpdoyle wants to merge 2 commits intorails:mainfrom
seanpdoyle:validates-default-context
Open

Validations: Default context based on persistence#469
seanpdoyle wants to merge 2 commits intorails:mainfrom
seanpdoyle:validates-default-context

Conversation

@seanpdoyle
Copy link
Contributor

@seanpdoyle seanpdoyle commented Dec 18, 2025

Depends on #468

This commit proposed that Active Resource follow the same pattern as
Active Record Validations, namely that an instance's default
validation context will be :create when the record is not yet
persisted and :update when the record is persisted.

@seanpdoyle seanpdoyle force-pushed the validates-default-context branch from 92ac827 to a4ef2aa Compare January 6, 2026 01:55
Forward the `:context` option from `Base#save` and `Base#save!` to the
underlying `Validations#valid?` call.

This commit alos includes test coverage for directly calling
`Validations#valid?` with a `context` value, since that behavior wasn't
covered by tests elsewhere in the suite.
This commit proposed that Active Resource follow the same pattern as
[Active Record Validations][], namely that an instance's default
validation context will be `:create` when the record **is not yet**
persisted and `:update` when the record **is** persisted.

[Active Record Validations]: https://api.rubyonrails.org/v8.1/classes/ActiveRecord/Validations.html#method-i-valid-3F
@seanpdoyle seanpdoyle force-pushed the validates-default-context branch from a4ef2aa to 0b682b2 Compare March 4, 2026 16:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant