財務状況を追跡するのに役立つアプリに取り組んでいます。私の投資口座 (例: 401k など) と、各口座に関連付けられた毎月の残高を追跡するモデルがあります。Investment_accounts モデルには多数の残高があり、残高は Investment_accounts に属しています。
アプリで借金、特に私の住宅ローンを追跡できるようにしたいと思います。しかし、これを最適にモデル化する方法を理解するのに苦労していますか? 私は、investment_accounts (特に金利) とは異なる情報を持つ住宅ローン モデルを用意する必要があります。ただし、住宅ローン残高の追跡は投資口座残高の追跡と非常に似ているため、住宅ローン モデルでは残高テーブルを活用する必要があります。しかし、住宅ローン テーブルと Investment_account テーブルの両方に十分な柔軟性を持たせるために、バランス テーブルを修正する方法がわかりません。
残高モデルに「タイプ」属性を追加し、次のような名前付きスコープを作成することを検討しました。
scope :investment_accounts, where(type: 'investment')
scope :mortgage, where(type: 'mortgate')
しかしその後、これが ActiveRecord クエリの奇妙な見た目につながるはずだと気付きました。インスタンスについて:
investment_accounts.balances.investment_accounts
と
mortgage.balances.mortgage
これはコードの匂いだと思います。これを正しく行う方法に関する提案はありますか?