翻訳を使用してアクティブモデルのインスタンスを作成しようとしています。(別のロケールで) 検証が機能する唯一の方法は、モデルで定義したすべてのフィールドのエラー メッセージを複製することです。したがって、このモデルの場合:
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
この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'
また、activemodel がすべてのモデルを変換する一般的な方法を定義するだけでなく、すべてのモデルに対してこれを行う必要があるようです。私は試した:
en:
activemodel:
errors:
models:
attributes:
blank: 'cannot be empty'
しかし、それはうまくいきませんでした。私は明らかに何かが欠けています...ありがとう。