Изменить имя поля ошибки в Rails - PullRequest
27 голосов
/ 26 апреля 2011

Мне интересно, есть ли способ изменить имя поля для ошибки проверки, с которой оно связано.Например, если я отправляю имя (действительно fname в таблице) без каких-либо данных, оно выдает Fname can't be blank.

Можно ли изменить это значение на First Name can't be blank?

1 Ответ

71 голосов
/ 26 апреля 2011

Общая практика в настоящее время заключается в том, чтобы отредактировать местных жителей следующим образом:

# config/locales/en.yml
en:
  activerecord:
    attributes:
      user:
        fname: "First Name"

Ваше сообщение об ошибке теперь скажет: «Имя не может быть ..."

Для полноты картины у вас есть другой вариант.Что добавить следующее к вашей модели пользователя:

class User < ActiveRecord::Base

  HUMANIZED_ATTRIBUTES = {
    :fname => "First Name"
  }

  def self.human_attribute_name(attr, options = {}) # 'options' wasn't available in Rails 3, and prior versions.
    HUMANIZED_ATTRIBUTES[attr.to_sym] || super
  end

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