如何在Rails中创建全局可访问的模块?

时间:2011-12-09 07:07:44

标签: ruby-on-rails ruby ruby-on-rails-3 model-view-controller

在Rails中,我可以创建全局模型(可在应用程序的任何位置访问)。但是,我想创建一些全局的构造,但不对应任何数据库表(这就是为什么它们不能成为模型)并且不会被实例化(所以我需要模块而不是类)

我尝试过使用初始化程序目录,但是很烦人,因为每次更改值时都需要重新启动我的服务器(而我可以在不重新启动服务器的情况下更改模型中的代码)。以这种方式创建全局可访问模块的最佳方法是什么?

2 个答案:

答案 0 :(得分:5)

只需将其放入lib子目录并将其添加到config/application.rb

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

答案 1 :(得分:1)

除了将模块添加到lib目录(这是合适的)之外,您还可以将类放在models目录中。它们不必是基于ActiveRecord的。