【问题标题】:Force reload! from lib directory in rails 3.2 console强制重装!来自 rails 3.2 控制台中的 lib 目录
【发布时间】:2012-09-22 07:16:49
【问题描述】:

我在lib/simple.rb 的文件中有一个简单的类。

在控制台 (rails c) 我有几个问题:

  1. Rails 似乎无法加载文件,即使 application.rb 包含 config.autoload_paths += %W(#{config.root}/lib/**)。如何让 Rails 3.2 表现得像以前的 Rails 2.x(我在 Rails 2.x 中从来没有遇到过这种自动加载的问题——Rails 3 似乎退了一步:()

  2. 如果我对simple.rb 进行更改并在控制台中调用reload!,它不会重新加载文件。我必须做load "#{Rails.root}/lib/simple.rb 让它重新加载。有没有办法让reload! 像以前在 Rails 2.x 中一样工作?即让它重新加载所有文件,而根本不必使用load

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3.2 irb


    【解决方案1】:

    它应该是包含您要加载的类的文件夹。因此,应该是

    config.autoload_paths += %W(#{config.root}/lib)
    

    如果您的应用是threadsafe!,请将config.autoload_paths 更改为config.eager_load_paths。完成此操作后,reload! 应该按照您的描述行事。

    【讨论】:

      猜你喜欢
      • 2013-12-14
      • 2014-04-10
      • 2016-07-28
      • 1970-01-01
      • 2012-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-03
      相关资源
      最近更新 更多