Ruby on rails 在控制器中生成分部

Ruby on rails 在控制器中生成分部,ruby-on-rails,Ruby On Rails,我正在构建一个RubyonRails应用程序,我有相当大的控制器 module MyModule def my_method end end # in controller include MyModule 现在我有相同的操作要在创建操作和删除操作上执行,所以我想知道是否有可能使其干燥。或者这仅适用于视图?您只能在视图中创建分部。 通过将代码的类似部分写入模型中的方法,并在控制器中调用尽可能多的操作,可以使控制器中的代码重复变干。在rails4中有一个名为concern的文件

我正在构建一个RubyonRails应用程序,我有相当大的控制器

module MyModule
    def my_method
    end
end

# in controller
include MyModule

现在我有相同的操作要在创建操作和删除操作上执行,所以我想知道是否有可能使其干燥。或者这仅适用于视图?

您只能在视图中创建分部。
通过将代码的类似部分写入模型中的方法,并在控制器中调用尽可能多的操作,可以使控制器中的代码重复变干。

rails4中有一个名为concern的文件夹,您可以使用concern在控制器中拆分代码


您可以通过以下网址了解相关问题:

有几种方法可以实现此目的:

  • 将所有与模型相关的代码移动到模型中,并对控制器中的模型调用模型操作。这是清理控制器的好方法,尤其是在查询模型中的泛型内容时
  • 在控制器中创建私有操作以减少代码重复
  • 您可以在模块内创建方法并将模块导入控制器。这将减少控制器的大小,并使其干燥(您甚至可以在不同的控制器中重用该模块)