Me pregunto si el counter_cache funcionaría en herencia de tabla única.counter_cache en herencia de tabla única
Para estos modelos:
class User
has_many :questions
end
class Question
belongs_to :user, :counter_cache => true
end
class SimpleQuestion < Question
end
class ComplexQuestion < Question
end
Así trabajarán los siguientes contadores?
create_table(:users) do |t|
t.integer :questions_count
t.integer :simple_questions_count
t.integer :complex_questions_count
end
- Todos ellos trabajan
- Ninguno de ellos trabajan
- Sólo
questions_count
trabajo - Sólo
simple_questions_count
ycomplex_questions_count
¿Cuál? Supongo que el tercero, pero quiero 4 más. Si no es 4, ¿cómo hago que 4 funcione?
=== === ACTUALIZACIÓN
Aquí se muestra un ejemplo:
id, user_id, question_content, type
1, 3, something, SimpleQuestion
2, 3, something, SimpleQuestion
3, 3, something, ComplexQuestion
Así que ahora quiero:
user.questions_count # => 3
user.simple_questions_count # => 2
user.complex_questions_count # => 1
Mi pregunta es, ¿cuál es el comportamiento básico de :counter_cache => true
y ¿Es posible aplicar en herencia de tabla única?
¿Está intentando que 'simple_questions_count' y' complex_questions_count' devuelvan el mismo número de recuento? ¿O van a contar en función de otro campo de la tabla de preguntas (por ejemplo, el usuario envía si se trata de una pregunta simple o compleja)? – erskingardner
'SimpleQuestion' y' ComplexQuestion' son subclases de 'Question', que tienen' 'type' diferente en la misma tabla. Tal vez dé un ejemplo. – PeterWong