Rails 3 - Как я могу определить переводы ActiveModel для нескольких атрибутов?

StackOverflow https://stackoverflow.com/questions/3953757

Вопрос

Я пытаюсь в экземпляре ActiveModel с переводами. Я обнаруживаю, что единственным способом работы валидаций (с другим локалом) является дублированием сообщения об ошибке для каждого поля, которое я определил INT HO модели. Так что для этой модели:

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

Я должен написать этот ямл:

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' 

Но это не сработало. Я, очевидно, что-то не хватало ... спасибо.

Это было полезно?

Решение

Попробуй это:

en:
  errors:
    messages:
      blank: "cannot be empty"
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top