我正尝试创建一个拥有用户,订单和用餐的餐馆经理应用程序。用户有很多订单,订单有很多餐。我想要一个表格,列出用户的所有订单以及用餐的名称和价格。我有三种型号: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相关的所有用餐。 –