Rails: クラス名が ActiveRecord::AttributeMethods 内のモジュールと同じ場合


Rails で作成したクラスの名前が “Read” だったとき、 そして その Read クラス を モデルクラス の中で使用したとき、 次のエラーが出ました。

undefined method `where’ for ActiveRecord::AttributeMethods::Read:Module

Read という クラス ではなく、 Rails が用意している ActiveRecord::AttributeMethods::Read モジュール だと判断されています。 次のようにすると、 作った Read クラス を使用できます。