كيفية طباعة جميع العناصر التي تنتمي إلى هذا الجدول

StackOverflow https://stackoverflow.com/questions/3175993

سؤال

حسنًا ، لست متأكدًا من أن عنواني كان واضحًا بما فيه الكفاية ، لكنني سأحاول شرح

لديّ جدولين: أوامر has_many العناصر والعناصر التي تنتمي إلى الطلبات. لقد بدأت للتو في تعلم ROR والتعليق بمهمة بسيطة. كل ما أريده هو عرض الطلبات والعناصر ذات الصلة مثل هذا:

الأمر 1:
البند 1
البند 2

الأمر 2:
البند 1
البند 2
...

أعرف كيفية عرض الطلبات أو العناصر بشكل منفصل ، أعرف كيفية عرض أوامر العناصر (item.order.id) ، ولكن كيفية عرض الطلبات والعناصر في الجدول كما هو مذكور أعلاه؟ في القالب الذي أعرض فيه أوامر ، يمكنني أن أتجاوز كل عنصر في كل عنصر ومقارنته Obside Order_id مع order.id ، ولكن هذا سيكون محرجًا. أفترض أنني يجب أن أحصل على عناصر في نوع من التجزئة متعددة الأبعاد حيث سيكون مفتاح Order_id ثم يمكنني فقط الرجوع إلى هذا التجزئة بمعرف الطلب والحصول على جميع العناصر فيه ، لكنني لست متأكدًا من أنه صحيح.

آمل أن يكون ما كتبته هنا مفهومًا.

هل كانت مفيدة؟

المحلول

عندما تحدد أ 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