Я пытаюсь изменить установщик для модели Mongoid атрибутов, но в отличие от ActiveRecord, я не могу вызвать super, чтобы Mongoid фактически устанавливал атрибут, так как модель использует include Mongoid::Document
, а не подкласс ActiveRecord::Base
.
Я хочу быть в состоянии сделать что-то подобное.
class User
include Mongoid::Document
embeds_one :email_account
def email_account=(_email_account)
ret = super
puts "email account updated!"
do_something
ret
end
end
за исключением того, что это не подкласс, дает
NoMethodError: super: no superclass method
Идеи?
РЕДАКТИРОВАТЬ:
Как бы вы сделали геттер, как
class User
include Mongoid::Document
embeds_one :email_address
def email_address
super || "myself@gmail.com"
end
end