-1

我有一个太大的 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'
4

1 回答 1

0

您始终可以重构您认为不只属于一个控制器的功能,以在lib目录中的某处分隔文件。然后,您可以使这些文件成为自动必需的,并且您可以在应用程序的任何位置使用它们的所有功能。就是这样:

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

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

于 2012-09-23T21:37:15.553 回答