私は非常に太ったユーザーモデルを持っています。特定のメソッドを分離して、作成する新しいモデルに入れたいと思います。これは、STIを使用するユーザーから継承するManagerと呼ばれます。
class User < ActiveRecord::Base
..
def user_method
end
end
class Manager < ActiveRecord::Base
..
def manager_method
end
end
Deviseがこれをどのように処理するのか興味があります。すでにユーザーがいるとしましょう。また、ユーザーがマネージャーであるとしましょう。しかし、彼がログインすると、current_userオブジェクトはUserクラスからインスタンス化されますよね?本当のオブジェクト指向の方法では、Railsは親クラスのインスタンスから子のメソッドにアクセスすることを許可しないと思います...そうですか?
では、current_userオブジェクトがtype列で指定されたクラスのインスタンスであることを確認するには、何をする必要がありますか?これはRailsのSTIの場合です。