내 신청서는 Users
, Stories
, Competitions
및 Submissions
인 서면 경쟁 모델입니다.Rails에서 여러 연관을 쿼리하는 올바른 방법은 무엇입니까?
사용자는 제출을 통해 대회에 참가하거나 소유자로 참가할 수 있습니다. 사용자가 소유하거나 참여한 모든 대회를 반환하는 쿼리 나 메서드를 원합니다. 배열로 반환하는 메서드가 있는데, competitions | owned_competitions
이지만 체인, 범위 등을 적용 할 수 있도록 ActiveRecord 엔터티를 유지하고 싶습니다.
더 좋은 방법이 있습니까? 이러한 관계를 설정하는 방법은 무엇입니까?
내 모델은 다음과 같이 :
user.rb :
has_many :stories
has_many :submissions
has_many :competitions, :through => :submissions
has_many :owned_competitions, :class_name => "Competition"
story.rb :
belongs_to :user
has_many :submissions
has_many :competitions, :through => :submissions
competition.rb :
belongs_to :owner, :class_name => "User", :foreign_key => 'user_id'
has_many :submissions
has_many :competitors, :through => :submissions, :source => :user
has_many :stories, :through => :submissions
scope :expiring_today, lambda { where("deadline = ?", Date.today) }
submission.rb을 :
belongs_to :user
belongs_to :story
belongs_to :competition
왜 downvotes? 나는 최선의 방법을 이해하려고 노력하는 약 40 가지의 다른 질문을 검색하여 해결하지 못했습니다 ... – Heliostatic