我想知道为什么在1_settings.rb rails应用程序初始化应用程序中,Settings参数的一些方法是在类Settings之外声明的。它的确切含义是什么?我们可以将这些作为Settings方法吗?(如果是这样的话,为什么不把它们包括在类中)
顺便说一句,ruby关键字是在哪里定义的(它是指一个namespace关键字还是所有其他地方定义的namespace类)?
class Settings < Settingslogic
source "#{Rails.root}/config/applab.yml"
namespace Rails.env
class << self
def applab_on_non_standard_port?
![443, 80].include?(applab.port.to_i)
end
...
end
end
...
# Default settings
Settings['ldap'] ||= Settingslogic.new({})
Settings.ldap['enabled'] = false if Settings.ldap['enabled'].nil?发布于 2013-07-02 23:30:55
Settings['ldap'] ||= Settingslogic.new({})等同于:
Settings.[]('ldap') || Settings.[]=('ldap', Settingslogic.new({}))因此,这些只是使用适当的参数在Settings类(它也是一个对象)上调用的方法[]和[]=。
https://stackoverflow.com/questions/17429322
复制相似问题