-
Notifications
You must be signed in to change notification settings - Fork 397
Raise on missing translations causes issues in Rails 7.1 #920
Copy link
Copy link
Closed
Labels
Description
When config.i18n.raise_on_missing_translations is enabled, Rails 7.1 raises on missing translations also when a translation is not found in a validation error message. This did not happen in 7.0
For some custom validations, like timeliness, client side validations attempts to create a message for "timeliness" error, which is not present.
On Rails 7.0 this did not fail, and the output would have contained a missing translation error
Steps to reproduce*
- Add a custom validation without a translation (
validates :leave_date, timeliness: { on_or_after: -> { Time.current } }) - Open a form with that field
Expected behavior*
Does not fail
Actual behavior*
*** I18n::MissingTranslationData Exception: Translation missing. Options considered were:
- it-IT.activerecord.errors.models.itinerary.attributes.leave_date.timeliness
- it-IT.activerecord.errors.models.itinerary.timeliness
- it-IT.activerecord.errors.messages.timeliness
- it-IT.errors.attributes.leave_date.timeliness
- it-IT.errors.messages.timeliness
System configuration*
Rails version: 7.1
Ruby version: 3.2.2
Client Side Validations version: main
Code snippet from your model of the validations*
validates :leave_date, timeliness: { on_or_after: -> { Time.current } }
The whole form code from your template*
= f.input :leave_date, as: :datetime, default: default_leave_date, start_year: Time.current.year, end_year: 1.year.from_now.year, minute_step: 10, ampm: t('time.ampm'), input_html: { class: 'date-time' }, wrapper: :horizontal_form
The resulting HTML*
not needed
Browser's development console output*
- I confirm that my browser's development console output does not contain errors
Additional JavaScript Libraries*
does not apply
Repository demostrating the issue
https://github.com/diowa/icare/tree/feature/rails-71
Reactions are currently unavailable