我正在尝试编写一个 method_missing 方法,这样当我运行一个方法时,它必须点击哈希并查看键,如果它找到匹配项以返回值。并继续。哈希是从我编写的 sql 查询中填充的,因此值永远不会保持不变。
一个例子就像
@month_id.number_of_white_envelopes_made
在哈希中
@data_hash[number_of_white_envelopes_made] => 1
所以@month_id 将返回 1。我以前从未使用过它,使用散列作为后备方法缺少的材料并不多
编辑:对不起,我忘了说如果它没有在哈希中找到方法,那么它可以继续下去,直到没有方法错误
编辑:好吧,所以我正在破解,这就是我想出的
def method_missing(method)
if @data_hash.has_key? method.to_sym
return @data_hash[method]
else
super
end
end
有没有更好的办法?