我们的rails 3.2 application_controller中有一些方法定义。这些方法适用于所有控制器。我们希望将这些方法定义放在单个文件search_stats_actions.rb
中,并将其包含在application_controller中。将删除文件search_stats_actions.rb
的子目录以及如何将该文件包含在application_controller中?我们正在寻找首选的做法。
该文件位于rails引擎中,而不在rails app中。
答案 0 :(得分:1)
对我来说,这将是一个放在lib
目录下的模块。请确保config/application.rb
中的lib
目录中包含config.autoloads_path
目录。有关详细信息,请参阅the Rails app configuration guide。
然后,在ApplicationController
中,您可以include
您刚创建的模块。
class ApplicationController
include <module name>
...
end
答案 1 :(得分:1)
最好将此模块(比如MY_CUSTOM_MODULE)放在config.autoloads_path
中包含的“lib”文件夹中。然后,您可以在ApplicationController
中包含该模块,如下所示
class ApplicationController
include <MY_CUSTOM_MODULE>
... excluded for brevity...
end