関連付け、スコープ、属性、検証、コールバック、非標準コード ( acts_as_*
)、クラス、およびインスタンス メソッドの従来の適切な順序は?
また、モデルをモジュールに分割する必要がある場合、これらのモジュールを機能 (Post::Comments、Post::Share、Post::Admin など) に基づいた方がよいでしょうか。各モジュールにはスコープと関連付けも含まれます。基本モデルにすべてのスコープと関連付けを保持し、メソッドのみを分割することが望ましいですか?
関連付け、スコープ、属性、検証、コールバック、非標準コード ( acts_as_*
)、クラス、およびインスタンス メソッドの従来の適切な順序は?
また、モデルをモジュールに分割する必要がある場合、これらのモジュールを機能 (Post::Comments、Post::Share、Post::Admin など) に基づいた方がよいでしょうか。各モジュールにはスコープと関連付けも含まれます。基本モデルにすべてのスコープと関連付けを保持し、メソッドのみを分割することが望ましいですか?
これについて明確な答えは得られません。それはあなたの個人的な好みとあなたのコードに合うものに依存します。
モデルの順序に関して私が提案すること:1つを選び、それに固執します。コールバックが検証の前に来るか後に来るかは、それがあなたにとって意味があり、あなたがそれを覚えている限り、実際には重要ではありません。
そして、モジュールについて:私は2つの小さいモデルを選び、両方のアプローチを試して、自分に合ったものを見てみます。個人的には、スコープが複数のファイルに分散されているのは好きではありませんが、それもあなたの好みである必要はありません。
たぶん、あなたは他の人がそれをどのように行っているかを見たいと思うでしょう、例えばhttps://github.com/gitlabhq/gitlabhqまたはhttps://github.com/diaspora/diasporaあなたの決定を助けるために。