これは機能します:
>> class Foo
>> def xyz()
>> Foo.subclasses
>> end
>> end
=> nil
>> class Bar < Foo
>> end
=> nil
>> class Quux < Bar
>> end
=> nil
>> Foo.new.xyz()
=> ["Quux", "Bar"]
しかし、これはそうではありません。User
私のアプリケーションのクラスです。
>> User.subclasses
NoMethodError: protected method `subclasses' called for #<Class:0x20b5188>
from [...]/vendor/rails/activerecord/lib/active_record/base.rb:1546:in `method_missing'
from (irb):13
しかし、これはそうです!
>> Foo.subclasses
=> ["Quux", "Bar"]
何が起きてる?のサブクラスをリストするにはどうすればよいUser
ですか?