나는 "일치"라는 모델과 "베팅"액세스 레일 has_many에 포함
class Match < ActiveRecord::Base
...
has_many :bets
end
라는 모델 그리고 내 모델 베팅이 : 나는 다음과 같은 코드를 사용하고
class Bet < ActiveRecord::Base
attr_accessible :match_id, :user_id, :bet
...
belongs_to :match
belongs_to :user
end
을 일부 일치 및 사용자의 베팅을 함께 선택하십시오.
@matches = Match.includes(:bets).where("bets.user_id = ? or bets.user_id is NULL", @user.id)
이 쿼리로 어떻게 사용자 베팅에 액세스 할 수 있습니까?
이 작동하지 않습니다 사용 :
@matches.each do |match|
match.bet.bet
...
어떻게 일치 안에 내기 속성에 액세스 할 수?
감사합니다. 이 코드로 대답 @sevenseacat 시도
: 작동 그래서 나는 그것이 match.bets.first로 변경 한
@user ||= User.find_by_id(params[:user_id]) if params[:user_id]
if @user
@matches = Match.includes(:home_team, :away_team, :bets).where("bets.user_id = ? or bets.user_id is NULL", @user.id) #.group_by{ |match| match.date.strftime("%d/%m/%y")}
@matches.each do |match|
match.bets.each do |bet|
bet.bet
end
end
end
(I는 각 match_id 및 USER_ID 1 내기가).
감사에 대한 어쩌면 좋은
@match.bet.each { |bet| bet.attr }
권리입니다. 각 사용자는 경기에 대해 단 하나의 내기 만 할 수 있습니다. 사용자 match.bet하는 방법이 ?? –코드에 의해 일치 항목은 여전히 많이 있지만 'match.bets'에는 올바른 내기 만 포함됩니다. – sevenseacat
이 코드는 BET가 아닌 Match 오브젝트를 인쇄합니다. '@matches.each do | match | match.bets.each do | bet | bet.bet end end' –