Carriles 3 - ¿Cómo se define traducciones ActiveModel durante varios atributos?
-
08-10-2019 - |
Pregunta
Estoy intentando una instancia ActiveModel con traducciones. Me parece que la única manera validaciones de trabajo (con otra configuración regional) es mediante la duplicación del mensaje de error para cada campo que define int modelo. Así que para este modelo:
require 'active_model'
class User
include ActiveModel::Validations
attr_accessor :first_name, :last_name, :email, :phone
attr_accessor :address, :ssn, :university, :faculty
attr_accessor :time_left, :gpa
validates_presence_of :first_name, :last_name, :email, :phone
validates_presence_of :address, :ssn, :university, :faculty
validates_presence_of :time_left, :gpa
end
Tengo que escribir esta yaml:
en:
activemodel:
errors:
models:
user:
attributes:
phone:
blank: 'cannot be empty'
first_name:
blank: 'cannot be empty'
last_name:
blank: 'cannot be empty'
email:
blank: 'cannot be empty'
gpa:
blank: 'cannot be empty'
address:
blank: 'cannot be empty'
faculty:
blank: 'cannot be empty'
university:
blank: 'cannot be empty'
Además, me parece que tenemos que hacer esto para cada modelo, en lugar de definir una forma genérica ActiveModel debe traducir todos los modelos. Probé:
en:
activemodel:
errors:
models:
attributes:
blank: 'cannot be empty'
Pero eso no funcionó. obviamente me falta algo ... gracias.
Solución
Prueba esto:
en:
errors:
messages:
blank: "cannot be empty"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow