Ich versuche, Daten aus zwei Modellen in derselben Tabelle einer Ansicht ohne Join-Tabelle zu verwenden.Suchwert aus Tabelle basierend auf Attribut aus separater Tabelle in Rails 4
Ich möchte eine Game_id
und Score
von der Punkte Tabelle zeigen. In einer dritten Spalte, möchte ich die game_id
von Punkte verwenden den Wert in der Name
Spalte des Spiel Modellanpassungskompensator selben ID von Punkte nachzuschlagen.
Im ScoreboardController, die auf dieser Tabelle gelten, ich versuche zuerst eine Reihe von Points
zu wählen und dann die ID-Abfrage:
@points = Point.where(user_id: current_user.id).order(game_id: :desc)
@find = @points.pluck(:game_id).last
@game = Game.where(id: @find)
Ok, so werde ich die vollständige Liste anzuzeigen von @points, die eine id ganze Zahl für game_id
enthält. Ich versuche dann, passendes Spiel mit @game nachzuschlagen.
Als nächstes möchte ich dies in einer Tabelle mit der dritten Spalte zeigen die .name
aus der Zeile in @game auswählen.
<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>
Diese richtig zeigt Reihen aller game_ids
in den Punkte Modell mit virtualmoney
für dieses Spiel verdient. Ich versuche dann eine zweite Iterationsschleife mit game.name
- es lädt, aber es gibt grundsätzlich den ersten Wert für jede einzelne Zeile.
Also statt "ID: 1 | Währung: 5 | Name:" Spiel 1 "... ID: 2 | Währung: 3 | Name:" Spiel 2 ", es wäre nur" Spiel 1 "," Spiel 1" , und so weiter)
Was soll ich für jede Zeile einen Namen zurückzukehren zurückzukehren tun, um die game_id
in der ersten Spalte passende
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
Können Sie Ihre schema.rb hinzufügen? – max
@max Guter Punkt, nur hinzugefügt – darkginger
Können Sie Modelle hinzufügen, damit wir prüfen können, ob die Verknüpfungen korrekt sind? –