0

Ruby on Rails のオブジェクトに関連する/オブジェクトの一部であるオブジェクトの命名規則についてはよくわかりません。これの例を次に示します。

私はUserオブジェクトを持っています

オブジェクトImageの画像のみを保存する別のモデルがありますUser

Historyのアクションのみを保存する別のモデルもありますUser

モデルに名前を付けるためUserImageにRailsの慣習に従うでしょうか? UserHistoryそれとも、これは規則に従っていませんか?もしそうなら、なぜですか?

ありがとうございました!

4

2 に答える 2

1

これは通常、アプリケーションで使用されている他の名前と、ある程度個人的な好みによって異なります。

私の好みは、名前空間の衝突のために本当に必要な場合、またはアプリケーションと同様の名前の構造のために混乱している場合を除いて、名前空間プレフィックスを追加しないことです。また、異なる領域のクラスとの名前の衝突を防ぐために接尾辞を使用することは、より多くのレール規則です。たとえば、コントローラーにはすべて接尾辞が付きController、メーラーには接尾辞が付きMailer、デコレーターには接尾辞が付きDecoratorます。

あなたの場合、私はユーザー、画像、履歴に固執します。他のタイプの画像/履歴モデルがない限り、画像と履歴の接頭辞は実際には何も得られません。その場合、名前空間の接頭辞ではなく、ポリモーフィックな関係を調べる方がよい場合があります。

それは主にスタイルと保守性の問題です。

于 2013-02-19T22:03:46.583 に答える
-1

モデルにこのような名前を付けると、モデル間の関連付けを作成できなくなります。元。UserImage モデルは、ユーザーとイメージ モデルの関連付けではなく、単一のエンティティと見なされます。このタイプの関連付けを作成する場合は、HABTM 関係を使用します。これが、レールが「設定より規約」に従う理由です。

于 2013-02-20T05:05:46.737 に答える