2016-10-22 8 views
0

に、私は次のことを置き換えるためにwhere.not使用しようとしていますwhere.not使用してトラブルを持つ:レール

if @friend_matches.count > 0 
    @court_matches = Match.available_on_courts.where('matches.id NOT IN (?)', @friend_matches.pluck(:id)).to_a 
else 
    @court_matches = Match.available_on_courts 
end 

@court_matches = Match.available_on_courts.where.not(matches.id: @friend_matches.pluck(:id)).to_a 

で、私は次のエラーを取得していますが。

SyntaxError: /Users/sripaladugu/Coding/matchpoint_rails/app/mailers/match_mailer.rb:8: syntax error, unexpected ':' 
...on_courts.where.not(matches.id: @friend_matches.pluck(:id)).... 
...        ^
/Users/sripaladugu/Coding/matchpoint_rails/app/mailers/match_mailer.rb:8: syntax error, unexpected ')', expecting keyword_end 
...id: @friend_matches.pluck(:id)).to_a 

答えて

2

あなたは、第二のレベル内のキーおよびカラム名としてテーブル名を指定するwhere内のハッシュを提供することができます。迅速な返信用

@court_matches = Match.available_on_courts 
         .where.not(matches: { id: @friend_matches.pluck(:id) }) 
         .to_a 
+0

感謝を。これは問題を解決しました。 – calilonghorn

+0

ようこそ。 –