我有一个Rails应用程序,用作混合数据的接口。我需要的大部分信息都是使用XML-RPC从命令行程序中检索的。除此之外,我还需要一些额外的数据,我除了存储在数据库中别无选择。出于这个原因,我很难弄清楚什么是设计应用程序的最佳方式。Rails应用程序接口体系结构设计
我已经覆盖self.all
和self.find(id)
使得它们依赖于调用super
,然后通过定义实例变量,从使用XML-RPC程序检索相应的数据“充实”的对象。
虽然这一切似乎相当复杂。例如,我想我已经失去了使用魔法发现器的能力(find_by_x
),并且我不知道是否有其他任何事情会因此而中断。
我的问题是如果有一个更合乎逻辑和明智的方式去做这件事。也就是说,设计一个大部分依赖于XML-RPC数据的应用程序,还有一些存储在数据库中的数据。我已阅读after_find
。使用这个回调函数,我可以实现“对象丰富化”过程,并在发现记录时随时运行它。但是,我检索与某个项目相关的数据的方法与检索全部项目数据的方法不同。我这样做检索所有项目数据(self.all
)是更有效的,但不幸的是不适用,只检索一个项目的数据(self.find
)。如果有方法可以使回调不适用于self.all
调用,这将工作得很好。
谦虚的建议。请简明扼要。 – Shreyas 2010-12-04 11:49:08
谦虚地注意到:) – 2010-12-05 01:18:21