相关疑难解决方法(0)

(Rails)重新加载"lib"文件而不必重新启动服务器......?

在Rails中有没有办法让ENV重新加载"lib"文件而不必重新启动服务器?我正在使用"lib"中的模块中的一些类.但是,为了查看我的更改,我必须每次都重新启动服务器.我猜这是Rails的工作方式,但在开发库文件和/或插件时非常繁琐.

当然,我正在犯这个错误......?

最好

编辑1

答案1和2都没有为我工作.相反,我收到了使用模块的控制器的错误.仅供参考,我的"lib/xmlitems"目录中有3个文件.我试图加载该子目录,然后我引用了"需要"所有其他文件的单个文件.我要单独加载所有文件吗?

ruby-on-rails file reload

23
推荐指数
2
解决办法
1万
查看次数

如何在Rails引擎中自动重新加载更改?

我有一个Rails 4.1.0可安装的引擎.在引擎的application_helper.rb中:

module MyEngine
  module ApplicationHelper    
    def test123
      "test123"
    end    
  end
end
Run Code Online (Sandbox Code Playgroud)

该方法位于虚拟应用程序的general/index.html.erb视图中:

%<= test123 %>
Run Code Online (Sandbox Code Playgroud)

这有效.但是,当我更改返回的字符串def test123并刷新浏览器时,不会显示新字符串.

当然,在虚拟应用程序中重新启动Web服务器会显示新字符串.

所以问题是,如何在不重新启动Web服务器的情况下重新加载引擎的文件?

PS.我最好找一种方法来使用Rails本身,或者解决这个问题的特定宝石(但不是像Guard,Spork等通用宝石,尽管如果所有其他方法都失败了,我也会考虑这些.)

PPS.在SO上也有类似的问题,但我已经尝试过所有这些问题(即使它们适用于Rails 2.x,3.x),但它们并没有为我工作.

rails-engines ruby-on-rails-4

9
推荐指数
1
解决办法
1541
查看次数

强制重新加载自动加载的库文件所需的库文件

Rails 3.2.3./lib我的自动加载路径中有一个Rails应用程序.我的一个库文件需要一堆这样的文件

Dir[Rails.root.join("lib/foo/*.rb")].each { |f| require f }
Run Code Online (Sandbox Code Playgroud)

在开发中,如果我更改它们,则不会重新加载这些文件.例如,如果我修改/lib/foo/bar.rb,我将不得不重新启动服务器以查看这些更改.任何人都可以建议一种方式,以便在每个请求上正确地重新加载它们吗?

ruby-on-rails ruby-on-rails-3

5
推荐指数
1
解决办法
1283
查看次数

在Pow上运行的Rails应用程序没有重新加载/ lib目录中的更改

经过多次谷歌搜索后,我尝试将这两个添加到我的配置中,但重新加载不会发生:

config.autoload_paths += %W(#{config.root}/lib)
config.autoload_paths += Dir["#{config.root}/lib/**/"]
Run Code Online (Sandbox Code Playgroud)

我对/ lib下的文件进行了更改,但Pow中的刷新不会重新加载更改

我错过了什么?

ruby ruby-on-rails rack-pow

5
推荐指数
1
解决办法
2474
查看次数

如何在开发模式下强制Rails 3.2按请求重新加载已挂载的机架应用程序?

如何在开发模式下强制Rails 3.2按请求重新加载已挂载的机架应用程序?

我这样安装了葡萄应用程序

 mount API2, :at => "/api2"
Run Code Online (Sandbox Code Playgroud)

但是,如果没有重新启动Web服务器,rails不会反映应用程

ruby-on-rails

4
推荐指数
1
解决办法
1334
查看次数