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