0

特定のmembersユーザーに関連付けられているすべての current_users を取得する一種の検索機能を作成しようとしています。gameid

私が試してみました:

@members = current_user.members.where(:games.id => params[:id])

しかし、私は得る:

undefined method `id' for :games:Symbol

これはRailsでどのように行われますか?

更新: モデルの関連付け

class Member < ActiveRecord::Base
    has_many :games_members, :dependent => :destroy
    has_many :games, :through => :games_members, :uniq => true
end

class GamesMembers < ActiveRecord::Base
    self.primary_key [:game_id, :member_id]
    belongs_to :members
    belongs_to :games
end

class Game < ActiveRecord::Base
    has_many :games_members, :dependent => :destroy
    has_many :members, :through => :games_members, :uniq => true
end
4

4 に答える 4

0

列名を見つける場所です。この場合、メンバー テーブルの列は参照されません。

これはうまくいくはずです:

 @members = current_user.members.each { |m|
  m.games.each { |g|
    g.id == params[:id]
  }
 }

テストしてください。

于 2013-09-21T20:22:11.030 に答える
0

モデルの外部キー フィールドgame_idはありますか? Memberもしそうなら、これを試してください:

@members = current_user.members.where(game_id: params[:id])
于 2013-09-21T20:22:23.327 に答える
-1

将来の Google ユーザーのために更新

私が見つけたこれは、この目標を達成するための正しい方法です

@members = current_user.members.joins(:games_members).where(:games_members => {:game_id => params[:id]})

于 2013-09-21T21:50:14.267 に答える