rails初始化器中self的值是多少?

时间:2011-11-18 02:00:29

标签: ruby-on-rails ruby-on-rails-3

我在rails(config / initializers / foo.rb)

中的初始化程序中看到了这一点
module foo
     module bar
         def self.biz
            @blahblah = "what am i"
         end
     end
end

自我如何使用?
@blahblah附属于什么实例?

1 个答案:

答案 0 :(得分:1)

self in ruby​​是类本身的一种方法,而不是一个对象。

所以,如果你有

class SuperHero
  def self.awesome?
    true
  end
end

然后你可以拨打SuperHero.awesome?

在您的示例中,您已向Foo :: Bar

添加了一个类方法
module Foo
  module Bar
    def self.biz
      @blahblah = "what am i"
    end
  end
end

所以你可以在课堂上调用.biz(这是Foo模块中的模块栏)

Foo::Bar.biz
 => "what am i"