Я использую Ruby on Rails 3.1.0 и гем Paperclip.Я хотел бы изменить нормальное поведение для проверки и добавления сообщений об ошибках к объекту класса.
То есть недопустимый экземпляр класса User
(ошибка :avatar_file_size
связана с гемом Paperclip)
#<ActiveModel::Errors:0x0000010166cfb8 @base=#<User id: 1, firstname: "Sample firstname", lastname: "Sample lastname", avatar_file_name: "avatar_file.jpg",
...>, @messages={:avatar_file_size=>["is too big"]}>
Я хотел бы получить следующий вывод (обратите внимание, что :avatar_file_size
error-hash key заменен на :avatar
):
#<ActiveModel::Errors:0x0000010166cfb8 @base=#<User id: 1, firstname: "Sample firstname", lastname: "Sample lastname", avatar_file_name: "avatar_file.jpg",
...>, @messages={:avatar=>["is too big"]}>
В нескольких словах я бы хотел изменить хэш-ключ ошибки, связанный с сообщением об ошибке, сгенерированным гемом Paperclip .
Как мне это сделать?что?
Может быть, это можно сделать непосредственно в методе validates
, представленном в модели User
, которая на данный момент имеет вид:
validates_attachment_size :avatar,
:less_than => 4.megabytes,
:message => "is too big"