Rails 3 - Come faccio a definire traduzioni ActiveModel per diversi attributi?
-
08-10-2019 - |
Domanda
Sto cercando di un'istanza activemodel con traduzioni. Trovo che il lavoro convalide unico modo (con un altro locale) è duplicando il messaggio di errore per ogni campo ho definito int egli modello. Quindi, per questo modello:
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
Devo scrivere questo 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'
Inoltre, mi sembra di avere a che fare questo per ogni modello, anziché definire soltanto un activemodel modo generico dovrebbe tradurre tutti i modelli. Ho provato:
en:
activemodel:
errors:
models:
attributes:
blank: 'cannot be empty'
Ma che non ha funzionato. Sono ovviamente manca qualcosa ... grazie.
Soluzione
Prova questo:
en:
errors:
messages:
blank: "cannot be empty"
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow