Sto imparando Rails e ho avuto un piccolo problema. Sto scrivendo morto semplice applicazione con le liste di compiti, in modo simile a modelli che:Counter_cache multiplo nel modello Rails
class List < ActiveRecord::Base
has_many :tasks
has_many :undone_tasks, :class_name => 'Task',
:foreign_key => 'task_id',
:conditions => 'done = false'
# ... some validations
end
Tabella per List
modello ha colonne tasks_counter
e undone_tasks_counter
.
class Task < ActiveRecord::Base
belongs_to :list, :counter_cache => true
# .. some validations
end
Con tale codice non c'è attr_readonly :tasks_counter
per List
casi, ma mi piacerebbe avere un contatore per le attività annullate pure. C'è un modo per avere più counter cache automaticamente da Rails.
Finora, sono riuscito a creare TasksObserver
che aumenta o diminuisce Task#undone_tasks_counter
, ma forse c'è un modo più semplice.
lo hai capito alla fine? –