我想在我的博客应用程序的 environment.rb 中找到以下行的来源
Blog::Application.initialize!
如果发现初始化!方法仅在源代码中的一处定义。
railties/lib/rails/application.rb
def initialize!(group=:default) #:nodoc:
raise "Application has been already initialized." if @initialized
然而,它是一个实例方法。
我在 rails 控制台做了一些实验:
Blog::Application.initialize! # => Application has been already initialized
Blog::Application.method(:initialize!) # => undefined method for Class
Blog::Application.instance_methods.include?(:initialize!) # => true
奇怪的是,我们得到了一个未定义的方法,initialize!
因为它可以在 Application 类上明确调用。请帮助理解此代码。