将计算属性添加到ActiveResource资源

时间:2014-12-05 21:03:54

标签: ruby-on-rails rest activeresource

我要做的是向Activeresource资源添加一个属性,该资源基于从服务器响应创建的其他属性。

更复杂的是,计算所依赖的属性是has_many关联的一部分,例如has_many:items。

我想要发生的是当u = User.find(123)被调用时,检索项目并根据某些计算将属性添加到User,例如u.blue_item_count。

当对象被序列化为XML或JSON时,还需要显示新属性。例如,你会序列化为{“id”:1,“name”:“bob”,“blue_item_count”:21}。

谢谢

1 个答案:

答案 0 :(得分:0)

只需在User对象上定义一个使用items关联的方法。例如:

class User < ActiveRecord::Base
    has_many :items

    def blue_item_count
        items.each do |item|
            ...
        end
    end
end