Ruby on rails 如何卸载&;加载一个类?

Ruby on rails 如何卸载&;加载一个类?,ruby-on-rails,ruby,rails-console,Ruby On Rails,Ruby,Rails Console,我在/lib中有一个类,我正在处理它,并通过控制台进行测试。我正在对类进行更改(例如添加调试器行)并使用reload但新的或删除的行不会反映在控制台正在运行的代码版本中 尝试了以下方法: config.cache\u classes=false 重新加载 config.autoload_paths+=Dir[“#{config.root}/lib/**/”] config.autoload_paths+=Dir[“#{config.root}/lib/service_processors”]

我在/lib中有一个类,我正在处理它,并通过控制台进行测试。我正在对类进行更改(例如添加调试器行)并使用
reload
但新的或删除的行不会反映在控制台正在运行的代码版本中

尝试了以下方法:

  • config.cache\u classes=false
  • 重新加载
  • config.autoload_paths+=Dir[“#{config.root}/lib/**/”]

    config.autoload_paths+=Dir[“#{config.root}/lib/service_processors”]


    config.autoload_路径添加Rails标记后无效

    那么,要加载一个类:

    load "lib/class.rb"
    
    要重新加载:

    load "lib/class.rb"
    

    这些设置不相关。

    添加Rails标记后无效。

    那么,要加载一个类:

    load "lib/class.rb"
    
    要重新加载:

    load "lib/class.rb"
    

    这些设置是不相关的。

    不确定这是否是问题所在,但在
    应用程序.rb
    中,您需要添加以下行:

    config.autoload_paths += %W( #{config.root}/lib )
    
    其次,为了确保在重新加载时正确找到类/模块,命名必须遵循Rails约定。这意味着模块或类名应该给出文件名,不同的名称空间(或嵌套)应该在不同的文件夹中

    一些例子可以更清楚地说明这一点:)


    HTH.

    不确定这是问题所在,但在
    应用程序.rb中需要添加以下行:

    config.autoload_paths += %W( #{config.root}/lib )
    
    其次,为了确保在重新加载时正确找到类/模块,命名必须遵循Rails约定。这意味着模块或类名应该给出文件名,不同的名称空间(或嵌套)应该在不同的文件夹中

    一些例子可以更清楚地说明这一点:)


    嗯。

    我试过了,但我有一些奇怪的行为。”这些设置是不相关的——它们确定了加载的环境。也许我应该包括Rails标签。对不起,我浪费了你一些时间。@jcollum:一点也不。对不起,我帮不上忙。我试过了,但我有一些奇怪的行为这些设置是不相关的——它们确定了加载的环境。也许我应该包括Rails标签。对不起,我浪费了你一些时间。@jcollum:一点也不。对不起,我帮不上忙。