質問

わかりました、私のタイトルが十分に明確であるかどうかはわかりませんが、説明しようとします

2つのテーブルがあります。Has_Manyアイテムと、注文に属するアイテムの注文です。私はちょうどRORを学び始め、簡単なタスクに固執しました。私が欲しいのは、このような注文と関連アイテムを表示することだけです:

注文1:
アイテム1
アイテム2

注文2:
アイテム1
アイテム2
...

注文やアイテムを個別に表示する方法を知っています。アイテムの注文(item.order.id)を表示する方法を知っていますが、上記のようなテーブルに注文とアイテムを表示する方法はありますか?注文を表示するテンプレートでは、すべての反復ごとに各アイテムを通過し、外部Order_idをOrder.idと比較できますが、それは厄介です。キーがOrder_idである場所でアイテムを何らかの多次元ハッシュに入れる必要があると思います。その後、このハッシュを注文IDで参照してすべてのアイテムを入手することができますが、それが正しいかどうかはわかりません。

私がここで書いたものが理解できることを願っています。

役に立ちましたか?

解決

aを定義するとき has_many 関係では、これらのオブジェクトを照会する方法を自動的に取得します。この場合、メソッド order.items.

だからあなたはすることができます:

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

(私は使用しました find_each メソッド。これは、Rails 2.3+から入手できます。シンプルを使用できます Order.all.each けれど。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top