Taki przypadek:
Mamy modele User i Task połączone przez model TaskRealization, który to, oprócz referencji do taska i usera, zawiera ocenę realizacji zadania oraz okres, w którym zostało ono wykonane (wyrażany, powiedzmy, integerem). Niektóre zadania mogą być cykliczne i realizowane w różnych okresach na różnym poziomie jakości.
[code=ruby]user.task_realizations << TaskRealization.new(:task = t1, :period => 1, :points => 4)
user.task_realizations << TaskRealization.new(:task = t2, :period => 1, :points => 6)
user.task_realizations << TaskRealization.new(:task = t1, :period => 2, :points => 1)
user.task_realizations << TaskRealization.new(:task = t1, :period => 3, :points => 12)
user.tasks.length #=> 4
user.tasks.uniq.length #=> 2[/code]
a) Czy da się zrobić tak, by user.tasks zachowywał się bardziej intuicyjnie (jak zbiór)?
b) Jeśli nie to jak zrobić, żeby takich problemów uniknąć?