2010-02-13 2 views
1

Надеюсь, кто-то может указать мне в правильном направлении. У меня есть файл en.ymlИмя атрибута повторяется дважды в сообщении об ошибке

en: 
    hello: "Hello world" 
    activerecord: 
    models: 
     recipe: "Recipe" 
    attributes: 
     recipe: 
     title: "Recipe title" 
    errors: 
     models: 
     recipe: 
      attributes: 
      title: 
       blank: "{{attribute}} cannot be left blank" 

В моей модели я проверить наличие поля заголовка

validates_presence_of :title 

Однако сообщение об ошибке, что я вижу на странице что-то вроде этого

Recipe title Recipe title cannot be left blank. 

Я не могу понять, почему имя атрибута повторяется дважды.

Любые идеи?

ответ

2

Поскольку рельсы префиксное сообщение об ошибке с именем атрибута. Вам не нужно {{attribute}} в сообщении. Это будет работать, как ожидалось:

en: 
    hello: "Hello world" 
    activerecord: 
    models: 
     recipe: "Recipe" 
    attributes: 
     recipe: 
     title: "Recipe title" 
    errors: 
     models: 
     recipe: 
      attributes: 
      title: 
       blank: "cannot be left blank" 
+0

Могу ли я префикс сообщения об ошибке чем-то вроде «Recipe {{attribute}} some message"? – iJK

+0

Насколько я знаю, вы не можете сделать это так (по крайней мере, не для «пустого» сообщения), потому что имя все равно будет добавлено в начале сообщения. –

+0

Полезно знать, спасибо Tomas – iJK

0

Существует исправление, что делает сообщения об ошибках более настраиваемыми (имена атрибутов не показаны в начале предложения). Вы можете найти его здесь: http://adamhooper.com/eng/articles/5