Мне интересно, будет ли 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
и возможно ли применить его к наследованию одной таблицы?