【问题标题】:Ruby on Rails - how to reload classes?Ruby on Rails - 如何重新加载类?
【发布时间】:2011-03-18 01:45:52
【问题描述】:

我正在开发一个 Ruby on Rails 应用程序,每次我对我的类文件进行更改时,我都需要重新启动服务器以反映代码更改。代码在我的控制器目录中,但它不是控制器。

每次进行更改时,我需要进行哪些更改才能使类自动重新加载?我已经在我的环境配置文件中将缓存设置为 false,但它仍然不起作用。

有什么想法吗?

【问题讨论】:

  • Rails.env 的值是多少?确保它是“开发”。

标签: ruby-on-rails


【解决方案1】:

我可能会将代码从控制器目录中移出(如果它不是控制器,则不属于那里)到 lib/controller_extensions/ 并将这一行添加到我的 config/application.rb (rails3) 或config/environment.rb (rails 2.3.10)

config.autoload_paths += Dir["#{config.root}/lib/controller_extensions/"]

【讨论】:

    【解决方案2】:

    这实际上取决于最初加载类的位置。这是一种在不同环境中重新加载所需内容的方法。

    Why does code need to be reloaded in Rails 3?

    【讨论】:

      【解决方案3】:

      如果它是开发环境,我认为您不必更改服务器即可在控制器中进行更改。相反,如果在 Model 类中进行了任何更改,则您必须再次重新启动服务器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-18
        • 1970-01-01
        • 1970-01-01
        • 2015-05-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多