Rails中的默认值 - 活动记录after_initialize

时间:2016-02-09 08:21:07

标签: ruby-on-rails ruby

有人知道为什么在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

为什么要有一个默认字符串我需要一个方法,但端口(整数)不是?

来源:How to set default values in Rails?

0 个答案:

没有答案