Frage

Ok, ich bin nicht sicher, dass mein Titel war klar genug, aber ich werde versuchen,

zu erklären,

Ich habe zwei Tabellen: Aufträge, die has_many Elemente und Elemente, dass belongs_to Aufträge. Ich habe gerade angefangen RoR zu lernen und steckte mit einer einfachen Aufgabe. Alles, was ich will, ist, Anzeige Aufträge und zugehörige Artikel wie folgt:

Auftrag 1:
Artikel 1 | Punkt 2
Bestellung 2:
Artikel 1 | Punkt 2
...

Ich weiß, wie Aufträge oder Gegenstände separat angezeigt werden, ich weiß, wie Elemente Aufträge angezeigt werden (item.order.id), aber wie Aufträge und Positionen in der Tabelle angezeigt werden wie oben? In Vorlage, wo ich Aufträge anzeigen kann ich durch jeden Punkt gehe jede Iteration und vergleiche es ausländische order_id mit order.id, aber das wäre peinlich sein. Ich bin der Annahme, dass ich Elemente in eine Art von mehrdimensionalen Hash bekommen sollte, wo Schlüssel order_id sein würde und dann konnte ich auf diesen Hash im Auftrag id beziehen nur und alle Elemente drin, aber ich bin nicht sicher, dass es richtig ist.

Ich hoffe, was ich hier geschrieben habe, ist verständlich.

War es hilfreich?

Lösung

Wenn Sie eine has_many Beziehung definieren, erhalten Sie automatisch die Methoden dieser Objekte abzufragen. In diesem Fall wird das Verfahren order.items.

So können Sie tun:

Order.find_each do |order|
  puts "Order #{order.id}:"
  order.items.each do |item|
    puts "Item #{item.id}"
  end
end

(I verwendet find_each Methode, die von Rails zur Verfügung 2.3+ ein einfaches Order.all.each though. Sie nutzen könnten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top