Я использую Ruby on Rails 3 и пытаюсь расширить класс Account в порядке для обработки ошибок "по-Rails" .
В моей модели у меня есть
class Users::Account
extend ActiveModel::Naming
extend ActiveModel::Translation
include ActiveModel::Validations
include ActiveModel::Conversion
def persisted?
false
end
attr_reader :errors
def initialize(attributes = {})
@errors = ActiveModel::Errors.new(self)
@firstname = attributes[:firstname]
@lastname = attributes[:lastname]
...
end
end
Я хотел бы "инкапсулировать" в вышеприведенном классе следующий хеш, используя ActiveModel::Errors
---
errors:
base: Invalid account.
firstname: Too short.
, чтобы я мог сделать это после вставки вышеуказанного хеша ошибки в классвот так
@account.errors # => Hash of errors
Отладка для сценария тестирования (всегда) следующая, потому что я не знаю, как добавлять ошибки в класс.
firstname: T
lastname: Test surname
errors: !omap []
Как я могу это сделать?