TL; DR:論理ドメインクラスをどのように整理するか分かりません。Rails:モデルのメソッドが多すぎる
私がモデルの「アプリケーション」を持って、このモデルはアプリケーションの「コア」であると私は、「入り」等の他のモデルで動作方法です:
@application = Application.find(params[:application_id])
@application.payment.update_attribute 'active', true
または
unless @application.report.status
または
@application.set_income(params[:income][:new_income])
私はアプリケーションを初期化するので、そのモデルが支払い、所得や報告書は基本的に空になっていますそこから「カスケード」のことをして、「従属」モデルを変更します。しかし、アプリケーションモデルには40以上のメソッドと600行があります。
私はそれを正しくやっていますか? ActiveRecordのは、自動的に外部キーを処理する方法を「知っている」ので、アプリケーションモデル内
payment = Payment.create params
:たとえば、私は私がやりたい新しい支払いを追加したいとき。私が使用してお支払いモデル内部の支払いを作成することができます。
application = Application.find(application_id)
params[:application_id] = application.id
self.create params
が、この方法を、私は手動でApplication.idを設定する必要があり、それは、より詳細なとエレガントではないに見えます。
私のアプリケーションモデルを減らそうとすると、モジュールをAPP/libディレクトリに作成する必要がありますか、他のモデルにメソッドを移動する必要がありますか?
難しい質問の長さです。いくつかはヘルパーにいくつかの他のモデルに移動することができます。また、他のモデルのメソッドを構築して、新しい支払いなどをエレガントに作成することもできます。 –