Witam.
Zaczynam uczyć się Ruby on Rails i zrobiłem taki model bazy danych:
Niestety nie wiem czy same tabele są dobrze zaprojektowane.
Jeden User(devise) może mieć kilka projektów. Ten projekt składa się z Playerów, Grup, Konkursów i rezultatów. Studiowałem z 5 razy z Ruby Guides na temat asocjacji, lecz mam dużo wątpliwości
class PlayerStrong < ActiveRecord::Base
belongs_to :project_strong
belongs_to :group_type
end
class GroupType < ActiveRecord::Base
belongs_to :project_strong
has_many :player_strong
has_many :competition_strong
end
class CompetitionStrong < ActiveRecord::Base
belongs_to :project_strong
belongs_to :group_type
end
class ResultStrong < ActiveRecord::Base
belongs_to :competition_strong
belongs_to :project_strong
belongs_to :player_strong
end
class ProjectStrong < ActiveRecord::Base
has_one :user
has_many :player_strong
has_many :group_type
has_many :competition_strong
has_many :result_strong
end
class User < ActiveRecord::Base
has_many :project_strong
end
Jeżeli można prosić o wyjaśnienie jak relacje powinny wyglądać i dlaczego tak a nie inaczej będę bardzo wdzięczny. Z góry dziękuję za wszelkie sugestie i odpowiedzi.
Serdecznie pozdrawiam.
P.S Kod który pisałem może być niepoprawny co do nazw/itd. Chodzi mi tu tylko o asocjacje.(np czy ślepo patrzeć, że np.: jeżeli tabela ma jakiś klucz obcy to od razy belongs_to czy nie do końca.Albo powinienem używać :throught => ? )