counter_cache が単一テーブルの継承で機能するかどうか疑問に思っています。
これらのモデルの場合:
class User
has_many :questions
end
class Question
belongs_to :user, :counter_cache => true
end
class SimpleQuestion < Question
end
class ComplexQuestion < Question
end
それで、次のカウンターは機能しますか?
create_table(:users) do |t|
t.integer :questions_count
t.integer :simple_questions_count
t.integer :complex_questions_count
end
- それらのすべてが機能します
- それらのどれも機能しません
questions_count
仕事だけ- のみ
simple_questions_count
とcomplex_questions_count
どれ?3枚目ですが、あと4枚欲しいです。4 でない場合、4 を機能させるにはどうすればよいですか?
===更新===
次に例を示します。
id, user_id, question_content, type
1, 3, something, SimpleQuestion
2, 3, something, SimpleQuestion
3, 3, something, ComplexQuestion
だから今私は欲しい:
user.questions_count # => 3
user.simple_questions_count # => 2
user.complex_questions_count # => 1
私の質問は、の基本的な動作は何:counter_cache => true
ですか?単一テーブルの継承に適用することは可能ですか?