Singleton急切初始化

时间:2011-01-09 20:30:39

标签: ruby-on-rails singleton eager-loading

我有类X需要很长时间来初始化自己。我希望在rails应用程序启动时创建该类单例并强制创建它。

我做了单身人士:

class X
  @@instance = nil

  def self.instance
    if @@instance.nil?
      @@instance = X.new
      puts 'CREATING'
    end

    return @@instance
  end

  private_class_method :new
end

问题在于每次我使用这个课时我都会在日志中看到“创建”。我试图在initializers目录中创建类,但它也不起作用。

1 个答案:

答案 0 :(得分:1)

问题在于开发环境中的Rails没有缓存类,每次请求都会重新加载应用程序代码。