Skip to content

Raise on missing translations causes issues in Rails 7.1 #920

@tagliala

Description

@tagliala

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*

  1. Add a custom validation without a translation (validates :leave_date, timeliness: { on_or_after: -> { Time.current } })
  2. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions