簡體   English   中英

擴展ActiveResource類

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM