0

是否可以扩展从响应中解组的 ActiveResource 类?

ActiveResource 请求示例:

GET http://www.exampleservice.com/products.json

回复

[{name:'Product X', price:14.5, features:[{name:'Soft'}, {name:'Green'}, {name:'Heavy'}]}]

此响应将被解组为具有Product对象数组的Product::Feature对象。是否可以向此类添加一些自定义方法/属性Product::Feature

4

1 回答 1

0

回答我自己的问题:

我创建了一个包含我的方法的新模块,并Product::Feature用它扩展了每个未编组的对象。如下所示:

module FeatureExtension
  def my_method
    # do something
  end
end

在收到Product来自我的某个地方后,ActiveResource我使用了代码:

@product.features.each do |feature|
  feature.extend(FeatureExtension)
  feature.my_method # Now it is possible to call the method
end
于 2013-03-12T14:34:57.313 回答