Ruby では、複数の mixin を含めることができますが、1 つのクラスしか拡張できないため、継承よりも mixin が優先されるようです。
私の質問: 役に立つように拡張/インクルードする必要があるコードを書いている場合、なぜそれをクラスにするのでしょうか? または別の言い方をすれば、なぜそれを常にモジュールにしないのですか?
クラスが必要な理由は 1 つだけ考えられます。それは、クラスをインスタンス化する必要がある場合です。ただし、ActiveRecord::Base の場合、直接インスタンス化することはありません。では、代わりにモジュールであるべきではなかったのでしょうか?