ジョインテーブルなしのビューの同じテーブルで2つのモデルのデータを使用しようとしています。Rails 4の別のテーブルのアトリビュートに基づくテーブルの参照値
私はGame_id
とScore
をから表示したいと思います。 3列目には、私はゲームモデルマッチングのName
列の値をルックアップするためにgame_id
からポイントを使用したいというポイントから同じID。
@points = Point.where(user_id: current_user.id).order(game_id: :desc)
@find = @points.pluck(:game_id).last
@game = Game.where(id: @find)
[OK]をので、私は完全なリストを表示するつもりです:このテーブルに適用されますScoreboardControllerで
は、私が最初にPoints
のセットを選択して、IDを照会しようとしています@pointsには、game_id
のid整数が含まれています。私は@ゲームと一致するゲームを調べるようにします。
次に、3番目の列に@gameの行から.name
を選んでテーブルに表示します。
<tbody>
<% @points.each do |point| %>
<tr>
<td><%= point.game_id %></td>
<td><%= point.virtualmoney %></td>
<% @game.each do |game| %>
<td><%= game.name %>
<% end %>
<% end %>
</tr>
</tbody>
これは正しく、そのゲームのために獲得したvirtualmoney
とポイントモデル内のすべてのgame_ids
の行を示しています。私はgame.name
で2番目の反復ループを実行しようとします - それはロードしますが、基本的にすべての単一の行の最初の値を返します。
"id:1 | currency:5 | name:"ゲーム1 "... id:2 | currency:3 | name:"ゲーム2 "、それはちょうど"ゲーム1 " 。ゲーム1" など)に
私は、最初の列にgame_id
に一致する各行の名前を返すために返すために何をすべき
EDIT:?SCHEMA.RB SNIPPET
create_table "games", force: true do |t|
t.string "name"
t.integer "max_players"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "points", force: true do |t|
t.integer "game_id"
t.integer "user_id"
t.integer "points", default: 0
end
schema.rbを追加できますか? – max
@max良い点を追加しました。 – darkginger
モデルを追加して、関連が適切に行われているかどうかを確認できますか? –