Mongoid embeds_many сообщение об ошибке проверки множественного числа + недопустимый - PullRequest
1 голос
/ 22 декабря 2011
class Report
  include Mongoid::Document
  embeds_many :figures
end

class Figure
  include Mongoid::Document
  embedded_in :report
  field :legend
  validates_presence_of :legend
end

Выводит это сообщение об ошибке:

Figures is invalid

Как я могу получить множественность в сообщении об ошибке, чтобы согласиться?

Ответы [ 2 ]

3 голосов
/ 24 января 2012

Перевод из ошибок в читаемые сообщения обрабатывается ActiveModel, а не Mongoid, и встроенные модели считаются просто атрибутами с точки зрения локализации атрибутов.

В этом случае, если вы используете приведенное ниже в файле i18n, вы получите форму единственного числа, а не множественное число, изменив то, что human_attribute_name возвращает для атрибута figure:

en:
    mongoid:
        attributes:
            report:
                figures: Figure
1 голос
/ 23 декабря 2011

Из Mongoid документов :

Вы можете назвать ваши отношения как угодно, но если класс не может Монгоид может быть выведен из названия, и противоположность не может сторона, которую вы хотите предоставить макросу некоторые дополнительные опции для расскажите Mongoid, как их подключить.

Вы должны просто использовать

class Report
  include Mongoid::Document
  embeds_many :figures, class_name: "Figure"
end

class Figure
  include Mongoid::Document
  embedded_in :report, class_name: "Report"
  field :legend
  validates_presence_of :legend
end
...