1
我正在使用Mongo並將散列存儲在數據庫中。不過後來當我檢索散列時,我不能再使用我的對象方法了嗎?我怎樣才能將檢索到的哈希從數據庫轉換爲TraitScore?如何將哈希變成紅寶石對象?
class TraitScore < Hash
def initialize(attrs = {}, options = nil)
self['net'] = attrs[:net] || 0.0
self['total'] = attrs[:total] || 0.0
self['score'] = attrs[:score] || 0.0
end
def inc_net(val)
self['net'] += val
end
def inc_total(val)
self['total'] += (val || 0).abs
end
def set_score(score)
self['score'] = score
end
end
...'TraitScore.new(hash)'? – Ajedi32
您不能在Ruby中將一個對象「投」到另一個類中(除非通過'evil.rb'; Google它)。您只能根據現有對象創建_new_對象。 – Phrogz