首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails应用MVC设计决策

Rails应用MVC设计决策
EN

Stack Overflow用户
提问于 2014-02-12 15:46:27
回答 3查看 90关注 0票数 1

现在,我正在开发一个应用程序,它接收库存文件(csv),解析它,并将其保存到数据库中。首先,我要创建一个清单类,它将解析csv,并在构建的库存数据库上执行业务逻辑。但现在看来我应该把这些问题分开。csv文件将每天更新,因此解析是应用程序的一个重要部分。

因此,我现在创建一个类Feed来处理库存提要(.csv),解析它,检查错误,甚至可能充当json端点。唯一的问题是,这个类不需要持久化它的数据,库存类会这样做。所以,如果这个Feed类是一个好主意,我如何将它包括在一个Rails项目中?作为一个没有模型的控制器?作为.rb文件在/lib中?我应该为此使用rake任务吗?其他选择?

EN

Stack Overflow用户

发布于 2014-02-12 15:54:04

Feed可以是包含以下内容的ActiveRecord模型:

  • 文件附件(载波,回形针,没关系)。
  • A状态:已处理与否

在控制器中,使用新创建的对象启动后台作业,负责处理文件并更新其状态。

通过这种方式,您可以跟踪所需的所有更改,并保留历史记录(是否,您选择更新状态或在成功时破坏)。但关键是背景工作有时会失败,你需要一个解决方案。

至于将csv解析代码放在哪里,我会使用一个服务对象:由于您严重依赖于您的模型,所以我不会将它放在lib中(或者可能是解析逻辑的一部分,而不是模型创建)。

票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21732671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档