0
我需要为模型实现<和>运算符。全范围常量
的代码是这样的:
class Product < ActiveRecord::Base
sizes_map = ["s", "m", "l", "xl", "xxl"]
def < (rhs)
return sizes_map.index(self.size_label) < sizes_map.index(rhs.size_label)
end
end
当我这样做:
pl = Product.new :size_label => "s"
pr = Product.new :size_label => "l"
pl < pr
我获得以下错误:
NameError: undefined local variable or method `sizes_map'
事实证明,那类范围的常数在它的方法中不可见。
此外,产品:sizes_map引发相同的错误。
这里有什么问题?
啊,我忘了大写字母。谢谢! – AntonAL 2011-03-17 09:37:00
感谢您的补充。顺便说一句,这些编码习惯在哪里列出? – AntonAL 2011-03-17 09:39:20
AntonAL,https://github.com/bbatsov/ruby-style-guide – 2013-03-08 02:57:02