Trzy obiekty, zliczanie

Projekt ma wiele zadan, jedno zadanie moze nalezec do wielu osob, jedna osoba moze zostac przypisana do wielu zadan.

Jak najprosciej zliczyc ile pracuje osob przy danym projekcie ?

Pozdrowienia

Nie znam się na Ruby :stuck_out_tongue_winking_eye: ale ja bym pobrał zadania z projektu,
z zadań pobrał osoby i umieścił je w zbiorze (Set), aby się pozbyć duplikatów.
Pózniej pobrał wielkość zbioru i gitara xD

Spróbuj tak:

[code=ruby]class Project
has_many :tasks
has_many :users, :through => :tasks, :uniq => true
end

class Task
belongs_to :project
has_many :users
end[/code]

Przy takiej strukturze jak napisał radarek, liczbę osób pracującą przy projekcie dostaniesz przez:

@project = Project.first @project.users.count
:slight_smile:

@Radarek , Probowalem tak jak napisales, lecz dostaje cos takiego:

Zapewne problemem jest ze Task HABTM Users, ale nie wiem jak to inaczej obejsc, tymbardziej co zdzialac z tym source z komunikatu.

Pozdrowienia