сообщение об ошибке проверки ruby ​​нуждается в изменении - PullRequest
0 голосов
/ 08 марта 2011

У меня есть модель под названием «dropbox», которая расширяет «программу».Программа имеет следующую проверку:

validates_presence_of :network_id, :name

и поэтому, когда вы пытаетесь создать Dropbox, оставляя их, вы (неудивительно) получаете следующее сообщение проверки:

* Network can't be blank
* Name can't be blank

Проблема вв контексте Dropbox мы называем «сеть» «категория».Как изменить сеть не может быть пустой сообщение об ошибке в категория не может быть пустой

--- edit ---

Я пробовал:

activerecord:
  attributes:
    dropbox:
      network_id: Category

но это никак не влияет.Тем не менее, это работает:

activerecord:
  attributes:
    programme:
      network_id: Category

, но везде будет менять имя сети (где, как мне нужно, его нужно поменять на dropbox).Я полагаю, что это потому, что network_id является свойством программы, а dropbox просто расширяет это, но должен быть способ обойти!

1 Ответ

2 голосов
/ 08 марта 2011

Вы можете использовать локали для этого:

activerecord:
  attributes:
    dropbox:
      network: Category

Вставьте это в config / locales / en.yml, чтобы изменить отображаемые имена атрибутов.Создайте несколько сообщений об ошибках:

errors:
  messages:
    dropbox:
      cant_be_blank: Oops!

Затем вы добавите опцию сообщения в модель:

validates_presence_of :network_id, :name, :message => I18n.t('activerecord.errors.messages.dropbox.cant_be_blank')

Много дополнительной информации можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...