Я не знаю, отличается ли он от простых камней.
Для изменения содержания сообщений об ошибках вы можете использовать атрибут :message
в модели.
class User < ActiveRecord::Base
validates :email, {:presence => true, :message => "is not filled up."}
end
Теперь сообщение проверки будет Email is not filled up
. Если вы хотите, чтобы имя поля также было изменено (Email
на E-mail address
как-то так), то теперь подход состоит в том, чтобы определить его в locales.rb
файле, подобном этому
# config/locales/en.yml
en:
activerecord:
attributes:
user:
email: "E-mail address"
Подробнее о locales
см. ссылка . Другой подход заключается в определении в модели гуманизированных атрибутов, таких как:
class User < ActiveRecord::Base
validates :email, {:presence => true, :message => "is not filled up."}
HUMANIZED_ATTRIBUTES = {
:email => "E-mail address",
...(other fields and their humanized names)
...
}
def self.human_attribute_name(attr, options={})
HUMANIZED_ATTRIBUTES[attr.to_sym] || super
end
end
Для настройки стиля сообщения проверки нам нужно отредактировать стиль для
#errorExplanation
и .fieldWithErrors
в таблице стилей scaffold.css
.