Rails是否必须延迟加载所有内容?或者是吗?

时间:2012-07-18 19:02:14

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

当我注意到以下内容:我的规格中的0.15s用于简单的方法,如:

class String
  def to_slug
    (self.dup).gsub(/["']/, '').gsub(/@/, 'at').gsub(/&/, 'and').parameterize
  end
end

我开始问自己发生了什么,所以在没有参数化的方法之后我决定这是参数化内部的一个问题而不一定是方法本身但是,好吧,加载的方式,在我看来当像这样的Monkey Patches应该加载时会延迟加载,这会导致它不应该存在的延迟IMO。所以我的问题是,Rails是否真的懒得加载包含参数化的文件,并且有办法说服Rails急切地为String和其他stdlib加载补丁。

1 个答案:

答案 0 :(得分:1)

config.threadsafe!中调用config/environments/test.rb会强制在启动时加载所有代码。请注意,这会将cache_classes设置为true,因此请勿在{{1​​}}环境中使用它,否则您将丢失重新加载的代码。

另一种方法是更改​​development以包含您要加载的目录。

资源: