我正在抽象出支付网关,我使用了一个Subscription类和PaymentGatewayApi类,以便在将来可以轻松更改而无需触摸模型。我的API位于app/api
,这似乎很好,因为我只有其中的一些(尽管如果有人比我更聪明,我会将它们移动)。在Rails应用程序中,组织非模型实用程序类的Rails方法是什么?
在试图编写优质代码并减少我的参数调用时,我需要制作一些简单的实用程序类。其中一个是CreditCardCustomer
,它可以在Subscription
模型中实例化,然后将实例传递给PaymentGatewayApi
。
我的问题是,我应该在哪里上这门课?它是否需要在自己的文件中,或者我可以将多个类放在同一个文件中?一般来说,Ruby和Rails的最佳实践是什么?
我刚才假设所有模型都是ActiveRecord模型。我只是使用这个类来避免传递一系列属性,ala Ben Orenstein风格的重构。我有更多重要的AR模型封装了它的所有属性,如Subscription和User。根据我的描述和经验,这听起来像是一个Utility类还是一个Domain Object? – AKWF 2013-04-27 02:18:30