【发布时间】:2011-09-27 23:05:04
【问题描述】:
我正在创建一个 gem,并希望能够通过为序列化属性动态创建属性 getter 和 setter 来修改 ActiveRecord 对象。例如:
class User
has_serialized :setting do |config|
config.define :notify_by_email, default: true
config.define :notify_by_phone, default: true
end
end
user = User.new
user.notify_by_email? # true
user.notify.by_phone? # true
user.notify_by_email = false
user.notify_by_phone = false
user.notify_by_email? # false
user.notify.by_phone? # false
我意识到我需要使用包含方法 has_serialized 的模块来扩展 ActiveRecord,并且我需要使用 define_method 来添加自定义 getter 和 setter,但是我不知道如何组合两个使用我想要定义的块语法。有什么想法吗?
【问题讨论】:
标签: ruby-on-rails ruby gem