Bob*_*Bob 9 ruby activerecord ruby-on-rails ruby-on-rails-3
我的设置:Rails 3.0.9,Ruby 1.9.2
我有理由这样做,但我需要的是一种动态添加虚拟属性到activerecord结果集的方法.这意味着我没有attr_accessor在模型中使用,而是希望动态地将虚拟属性添加到结果集中.
例如,
users = User.all
#a user has following attributes: name, email, password
Run Code Online (Sandbox Code Playgroud)
我喜欢做的是说增加(不使用attr_accessor)虚拟属性status来users,这可能吗?
apn*_*ing 15
你应该做这个:
users.each do |user|
user.instance_eval do
def status
instance_variable_get("@status")
end
def status=(val)
instance_variable_set("@status",val)
end
end
end
Run Code Online (Sandbox Code Playgroud)