有人知道为什么在Rails 4.x中,|| =运算符似乎与默认字符串无法正常工作。
失败:
self.scheme ||= "https"
错误:
NoMethodError:
undefined method `scheme' for
工作的:
after_initialize :apply_defaults
def apply_defaults
#remote Docker daemons use HTTPS by default
self.scheme
#default port for docker daemons
self.port ||= 2376
end
#for some reason, can't use ||= and need a real method
def scheme
self[:scheme] || 'https'
end
为什么要有一个默认字符串我需要一个方法,但端口(整数)不是?