【发布时间】:2018-08-14 05:36:41
【问题描述】:
我们总是读到人们说用铁轨“保持干燥”。但是到什么水平呢?
例如,我们有 3 个模型 Project、Offer、Revision。这3个模型可以有多个Attachment。
在“模型”方面,我们最终得到了非常直接的结果
/app/models/project.rb
/app/models/offer.rb
/app/models/revision.rb
但是对于控制器方面,我很难保持干燥。我最终得到了至少:
GET /projects/:id/attachments -> Projects/Attachments#index
POST /projects/:id/attachments -> Projects/Attachments#create
GET /offers/:id/attachments -> Offers/Attachments#index
POST /offers/:id/attachments -> Offers/Attachments#create
GET /revisions/:id/attachments -> Revisions/Attachments#index
POST /revisions/:id/attachments -> Revisions/Attachments#create
所以基本上,我在这 3 个位置的代码几乎相同:
controllers/projects/attachments_controller.rb
controllers/offers/attachments_controller.rb
controllers/revisions/attachments_controller.rb
我的问题,我应该把它弄干吗?怎么弄?
【问题讨论】:
标签: ruby-on-rails model-view-controller controller dry