在升级一个 rails 2 的项目到 3,原本这个 module 是放在 model 文件夹下的,然后在一个 model 里直接
include CustomModule
就可以使用,升到 3 之后发现会报错:
uninitialized constant XXX::CustomModule
然后我把这个 module 文件custom_module.rb
挪到 lib/
文件夹下,在application.rb
里加上autoload_path
,
config.autoload_paths += %W(#{config.root}/lib)
config.autoload_paths += Dir["#{config.root}/lib/**/"]
还是不好用?现在能 work 的方法就是在 model 里用require 'custom_module'
, 但似乎不推荐这么加载 module。求助各位有没有解决办法。