ちょいハマり多対多

モデル作った時にアンダースコアを使っていても、クラス名にアンダースコアは含まれないので、コントローラーでは

UserGame.create(hogehoge)とかになる。

多対多は大抵間になんか入れると思うけどクラス名見たらそれ入ってないから、コントローラーの記述の仕方に注意

 

独り言 

その後またちょいハマる

スマートなやり方じゃなさそうだけどなんとか突破。

.select文で特定のカラムを抽出するのが肝だったっぽい。久しぶりにSQL文使った気がするが、やっぱりrailsでもSQL使いこなせた方がいいんだろうなと思った。また困った時に参考になるかもしれないのでユーザーのゲーム一覧を表示させる時に書いた物残しとく。

usergames = UserGame.where(user_id:current_user.id).select(:game_id)

@usergames = Game.where(id: usergames)