我正嘗試創建一個擁有用戶,訂單和用餐的餐館經理應用程序。用戶有很多訂單,訂單有很多餐。我想要一個表格,列出用戶的所有訂單以及用餐的名稱和價格。我有三種型號:User
,Order
和Meal
。雖然它不是從這個循環訪問order_id
一個問題:從Rails中的.each循環訪問另一個模型
- @userOrders.each do |order|
%tr
%td= order.id
,當我試圖通過
- @userOrders.each do |order|
%tr
%td= order.id
%td= order.meals.name
這裏訪問頓飯的名字就是我得到:
Table with what's supposes to be meals' names
在Ruby控制檯,當我輸入user.orders[1].meals
時,我得到:
這是我orders_controller.rb
def index
user_id = current_user.id
@userOrders = Order.where(:user_id => user_id)
end
下面是我的order.rb
:
class Order < ApplicationRecord
belongs_to :user
has_many :meals
end
user.rb
:
class User < ApplicationRecord
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_many :orders
end
和meal.rb
:
class Meal < ApplicationRecord
belongs_to :order
end
您的預期輸出是什麼? – Stefan
我的預期輸出是在一個元素中列出與特定order_id相關的所有用餐。 –