【问题标题】:Rails: how to tell if Spring is loadedRails:如何判断 Spring 是否已加载
【发布时间】:2022-01-02 20:22:08
【问题描述】:

在最新版本的 Rails 中,他们将 config.cache_classes = true 设置为 config/environments/test.rb。这对我来说很有意义,因为我们通常不会动态地重新加载类。但是,当我们使用 Spring 运行时,它抱怨应该将其设置为 false。如果有办法穿针并同时容纳两者,我会很高兴的,比如:

config.cache_classes = !Spring.enabled?

不过,我没有找到实现此目的的方法。有什么方法可以判断应用程序启动时 spring 是否处于活动状态?

【问题讨论】:

  • 如果您的应用在测试套件运行之前加载 Spring(检查 bin/rspec 和/或 bin/rails),那么它将始终被加载。但是,如果您手动启动它,您可以使用defined?(Spring)。
  • 对我来说,无论是否使用 Spring,它看起来都是已定义的。我在我的test.rb 中放了一个binding.pry,无论是否运行spring rspec ...,它都定义了Spring。

标签: ruby-on-rails rails-spring


【解决方案1】:

试试这个:

require 'spring/env'
Spring::Env.new.server_running?
=> true

【讨论】:

    猜你喜欢
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    相关资源
    最近更新 更多