新手问题 [ 已解决 ] Rails 自动加载, 文件变动不起作用

davidwei · 2015年07月10日 · 最后由 davidwei 回复于 2015年07月13日 · 2200 次阅读

在 development 模式下,如果想监控某些文件变动,自动加载某些文件,在 config/initializers 下创建一个 rb 文件,简单配置如下:

locale_reloader = ActiveSupport::FileUpdateChecker.new(Dir["config/ruby-china.yml"]) do
     STDOUT.print "HELLO WORLD"
  end

  ActionDispatch::Callbacks.to_prepare do
    locale_reloader.execute_if_updated
  end

鄙人想自动加载某个文件,但是发现这段代码不起作用。有类似经验的,请指点迷津。谢谢。

原因

Provide callbacks to be executed before and after the request dispatch.

It also provides a to_prepare callback, which is performed in all requests in development by only once in production and notification callback for async operations.

所以这个在有请求后才会触发。

Dir[File.join(Rails.root, "config/ruby-china.yml"] #用完整路径或者当前目录下的相对路径

config/initializers 目录下没有 config/ruby-china.yml

#1 楼 @gihnius 有放。如果 touch 一下 yml 文件,在控制台可以正确执行。怪怪

需要 登录 后方可回复, 如果你还没有账号请 注册新账号