2012-09-01 37 views
0

在我的應用程序林有一個查詢,以確定是否一個遊戲有多麼喜歡,爲什麼我的.where語句不能與ActiveRecord中的連接一起使用?

@games = Like.select('l.*').where(:game_id => @game.id).joins('join likes l on likes.user_id=l.likes and l.user_id=likes.likes') 

的遊戲需要有一定的ID和用戶都有喜歡的遊戲

第一個在那裏(: game_id => @ game.id)不起作用,雖然它返回多個game.id的結果,我該如何解決這個問題?

+0

你爲什麼要加入喜歡錶本身? –

回答

0

如果您有配合建立這樣的兩個模型之間的關係:

class Game < ActiveRecord::Base 
    has_many :likes 
end 

class Like < ActiveRecord::Base 
    belongs_to :game 
end 

然後在你的控制器,你只需要:在這種情況下

@game = Game.find_by_id(game.id) 
@likes = @game.likes.count 

無論如何,我想,也許最好的方法將使用add likes作爲屬性並使用counter_cache_column。

相關問題