Estamos tratando de actualizar una aplicación Rails 6.1.4 a la versión Rails 7.0.0 recién lanzada. Después de seguir algunas guías y ajustar nuestra configuración básica, la aplicación funciona bien.
Nuestras vistas que usan cadenas localizadas interpoladas por la gema I18n funcionan bien.
Pero cuando tratamos de acceder a nuestras plantillas localizadas, aquellas que tienen una variante de configuración regional en su ruta como employees.pt_BR.html.erb , seguimos obteniendo:
Marketing::LandingsController#employees is missing a template for request formats: text/html
Eso no sucedió en Rails 6.1.4 y sospechamos que se debe al uso de nombres no convencionales para nuestras configuraciones regionales. Usamos language_REGION (p. ej., pt_BR ) en lugar del guión y el formato convencional según los documentos de Rails, que es language-REGION (p. ej. pt-BR ).
En nuestro application.rb tenemos:
config.i18n.available_locales = %i[ es_AR es_MX es_UY es_CL es_PE es_PY es_EC es_VE es_CO es_BO pt_BR en pt es ] config.i18n.default_locale = :es_ARSi cambiamos nuestra configuración local al formato de nomenclatura convencional, las plantillas localizadas funcionan bien.
¿Ha quedado obsoleta la representación de plantillas localizadas con guiones bajos o se trata de un error en Rails 7.0.1?
PD: Hay un problema abierto de GH en el repositorio de Rails ( https://github.com/rails/rails/issues/44154 ).
Fue un error y se solucionó con un PR que creamos. Más discusión: github.com/rails/rails/pull/44174
El uso de Rails 7 desde el repositorio de github debería resolver esto