【发布时间】:2012-03-05 20:26:49
【问题描述】:
我对 Rails 还很陌生,但我最关心的问题是在哪里放置我的逻辑以维护面向对象的设计,同时遵守 MVC 模式。所以我想这和关于 Rails 的问题一样多是关于 MVC 的问题。这是我的场景:
我的 Rails 应用程序中有一个导入函数,它解析上传的 Excel 订单文件并导入其内容。当我编写函数时,我把它放在 OrdersController 中。我从一开始就知道它不是放置它的最佳位置,但我也不确定是否要将它放入模型中。如果我把它放在模型中,它将作为一个类方法,例如Order::import_from_excel,也许现在就可以了。但是如果任务变得越来越复杂,它可能需要分成几个方法,模型就会变得杂乱无章。在那种情况下,我认为将整个导入功能移到它自己的类中是合适的,例如OrderImporter 在非 MVC、面向对象的环境中是完全正常的。但是我会将这样的课程放在哪里,在 lib 中?
【问题讨论】:
标签: model-view-controller ruby-on-rails-3.1