但是,我不确定在哪里放置我为这些scraper脚本编写的代码.我的第一个想法就是把它放在食谱模型中,但似乎有点过于参与其中;图书馆或帮助者会更合适吗?
另外,正如我所提到的,我正在为不同的食品网站构建几种不同的刮刀.在我看来,这样做的优雅方法是定义一个接口(或抽象基类),它确定一组方法,用于在给定链接的情况下构造配方对象,但我不确定最佳方法是什么在这里,要么.我如何构建这些OO关系,代码应该放在哪里?
解决方法 你有这方面的两个方面是显而易见的.第一个是如何存储配方,这将是模型.显然,模型不会刮掉其他网站,因为它们只有一个责任:存储有效数据.您的控制器将启动抓取和存储过程,不应包含抓取代码(尽管他们会调用它).虽然在Ruby中我们不会使用抽象类或接口 – 它是鸭子型的,所以你的刮刀实现一种已知方法或一组方法就足够了 – 你的抓取引擎应该都是相似的,特别是在公众方面他们暴露的方法.
你会把你的刮刀 – 这就是蹩脚的答案 – 放在你想要的任何地方. lib很好,但如果你想制作一个也许不是一个坏主意的插件.看看我的问题here – 着名的Rails-guy Yehuda Katz的惊人答案 – 其他一些想法,但总的来说:没有正确的答案.但是有一些错误的.
总结以上是内存溢出为你收集整理的ruby-on-rails – Rails架构问题全部内容,希望文章能够帮你解决ruby-on-rails – Rails架构问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)