这是一个复杂的问题,有许多可能的答案,所以我将我的情况分解为简单的要点,以帮助缩小解决方案:
我的Rails应用程序具有以下'对象'
对象是如此相关:
示例设置:
我的问题和我的问题:
问题:
我需要解析上面提到的Feed并将每条推文存储在updates
表中。为了解析Feed,我正在考虑编写一个自定义的Feed
类,它将由TwitterFeed
,FacebookFeed
,TumblrFeed
等继承。
但是,我不确定这是否是解决此类问题的“最佳实践”。
问题:
答案 0 :(得分:1)
您可能会不时调用后台任务来检查所有订阅源,获取新更新并将其存储在数据库中。此任务与控制器完全分开,应该可以在没有任何控制器逻辑的情况下调用它。
你的抽象看起来很好。如果多个Feed共享一个共同的XML结构,您还可以使用XmlFeed < Feed
之类的内容。
1)控制器应与数据库/模型通信,并将相关数据传递给视图进行渲染。其他所有东西都应该是模型,助手或图书馆。
2)你在问解析逻辑属于哪里吗?在MVC中,我认为这将属于Model和/或helper类,但绝对不是控制器..它不是它的责任。
3)持有数据的类进入app / models。与保存数据无关的类进入lib目录。
答案 1 :(得分:1)
如果合适,请不要回避使用自定义类。如果您需要另一个类,然后添加一个类,您使用rails的事实与该决定无关。