Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 组织一组处理同一模型的控制器_Ruby On Rails_Ruby_Organization - Fatal编程技术网

Ruby on rails 组织一组处理同一模型的控制器

Ruby on rails 组织一组处理同一模型的控制器,ruby-on-rails,ruby,organization,Ruby On Rails,Ruby,Organization,我有一堆不同的控制器,它们都处理相同的基本模型。例如 食品控制器 FoobarShareController 食物控制器 食物控制器 食品检验控制器 他们都对foobar模型做了各种各样的事情,我有点想用一种更好的方式来组织它们,以及处理站点其余部分的其他事情,比如所有不专门处理foobar的东西,而只是一般的站点使用,比如UserController、DashboardController、MainController 我的想法是把所有东西都放到名称空间中,这样我就有了Foobar模块和S

我有一堆不同的控制器,它们都处理相同的基本模型。例如

  • 食品控制器
  • FoobarShareController
  • 食物控制器
  • 食物控制器
  • 食品检验控制器
他们都对foobar模型做了各种各样的事情,我有点想用一种更好的方式来组织它们,以及处理站点其余部分的其他事情,比如所有不专门处理foobar的东西,而只是一般的站点使用,比如UserController、DashboardController、MainController

我的想法是把所有东西都放到名称空间中,这样我就有了Foobar模块和Site模块。问题是,比如Foobar:FoobarController,我的路径是Foobar\u Foobar\u路径,类似地,URL看起来有点奇怪


这似乎不太理想,所以我想知道做这种组织的最佳方式是什么,而不是将所有内容都放在一个目录中,从而放在一个名称空间中。

我认为最简单的解决方案就是在控制器下创建一个Foobar目录,并将所有Foobar内容放在它们的名称空间中。尽管您可能需要修改一些路由/ajax/等,但这是完全可行的,甚至是推荐的。

如果不了解各种与Foobar相关的控制器的详细信息,就很难提供如何更好地组织它们的建议。但是,您可能想问问自己:

  • 首先,为什么有多个控制器
  • 这些控制器不能以某种方式组合,有什么好的理由吗
  • 共享基本控制器/模块能否简化这种情况
一般来说,最好采取一种方法

重复的逻辑应该整合到一个位置