[英]Extending ActiveResource Class
是否可以擴展從響應中未編組的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
類添加一些自定義方法/屬性?
要回答我自己的問題:
我創建了一個包含我的方法的新模塊,並使用它擴展了Product::Feature
每個未編組對象。 如下所示:
module FeatureExtension
def my_method
# do something
end
end
從ActiveResource
收到Product
,我使用了以下代碼:
@product.features.each do |feature|
feature.extend(FeatureExtension)
feature.my_method # Now it is possible to call the method
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.