分割大型控制器文件的最简单方法

时间:2012-09-23 21:29:31

标签: ruby-on-rails

我有一个太大的rails控制器文件(~900行 - api_controller)。我想把它拆分成这样的东西:

api_controller.rb
api_controller_item_admin.rb
api_controller_web.rb

我不想分成多个控制器。这样做的首选方法是什么?我可以在最后要求新部件吗?像:

require './api_controller_item_admin'
require './api_controller_web'

1 个答案:

答案 0 :(得分:0)

您始终可以重构您认为不属于一个控制器的功能,以将lib目录中的某个文件分开。然后,您可以自动生成这些文件,并且您可以在应用程序的任何位置随意使用它们的所有功能。方法如下:

# in [config/application.rb]
config.autoload_paths += %W(#{config.root}/lib)

我的建议:不要考虑将一个巨大的控制器分成更小的块,而是要折磨你的大脑,并强迫它将这个问题视为提取不属于你的控制器的功能,而不是其他文件。