Rails:前端和管理控制器干涸

时间:2014-06-30 07:25:18

标签: ruby-on-rails model-view-controller ruby-on-rails-4 refactoring dry

我有一个应用程序,包括一个大的后台部分。我有一个"后台"我的控制器,我的助手和我的观点的文件夹。

通常,对于许多型号,我有一个前端控制器,另一个在后台文件夹中。 像这样:

-controllers/
      -products_controller.rb
      -backoffice/
           -products_controller.rb

事实是,在许多模型中,我必须在前面和后面做同样的事情。今天,我在两个控制器中都有相同的方法,它们做同样的事情。 (我知道......)

那么,你有什么建议干这个吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

使控制器更薄且DRYer的常见模式为concernsservice objects

关注点是具有通用功能的模块,可以包含在控制器或模型中。 Rails鼓励他们使用它们,默认情况下在Rails 4中创建它们的文件夹。

服务对象通常用于模型中,但值得一看。哪种选择更好通常取决于具体情况和个人偏好。