Model posiadajacy wiele relacji has_many

Widzę, że obrazek inspirujący :slight_smile:

Odnośnie schematu bazy danych dla STI to jest on na mojej stronie, przy czym dostosowując do Railsów, trzeba by pozmieniać nazwy:

heavenly_bodies(id, name, radius, temperature, weight, orbit_radius, luminosity, tupe, planet_id, star_id)

Rozwiązanie z parametrami ogólnymi jest raczej niewłaściwe ze względów wydajnościowych - wydobycie jednego obiektu będzie generowało n+1 zapytań. No i takie rozwiązanie nie jest automatycznie obsługiwane przez Railsy. Zdecydowanie lepiej jest zastosować konwencję STI i nie przysparzać sobie dodatkowej roboty.

Jeśli chodzi o kod poszczególnych klas:

class HeavenlyBody < AR::Base end class Star < HeavenlyBody has_many :planets end class Planet < HeavenlyBody has_many :moons belongs_to :star end class Moon < HeavenlyBody belongs_to :planet end
To tak na szybko - nie sprawdzałem tego, ale chyba powinno działać :slight_smile: