1
我正在使用裝飾類將一些功能添加到我的模型中。我只想用這些信息來處理一些值,但不保存任何東西到數據庫中。ActiveRecord協會上的裝飾模式和類型不匹配
我有我的裝飾類,類似:
class Deco
def initialize o
@target = o
end
def method_missing method, *args, &block
@target.send(method, *args, &block)
end
#my extra methods
end
我用它像這樣:
deco_model = Deco.new(model)
這裏有問題是,當我想這個deco_mode
關聯到另外一個,我得到類型不匹配錯誤,這是有道理的,但如果我添加以下方法到我的裝飾類:
def class
@target.class
end
我仍然得到相同的錯誤,但它說:模型(#aaaaaa)預期,得到模型(#aaaaa) 是的,「模型」將是我的模型的類,並且對象id在兩個案例...所以如果對象ID是相同的,爲什麼我仍然得到異常?
感謝
它可能更容易使用SimpleDelegator,類似:**類Deco