【问题标题】:populate object_id fields in rails query在 rails 查询中填充 object_id 字段
【发布时间】:2015-12-18 16:30:05
【问题描述】:
我有两个模型。一个命名用户,一个命名订单。用户有一个带有订单 ID 的 order_id 字段。我设置了订单属于用户,用户有很多订单。
现在我想要一个视图,在其中显示一些用户,以及该用户的每个订单。显然,如果我能得到一个有用户的位对象而不是order_id,那将是很好的,有实际的订单。我知道在某些语言中你可以这样做:
found_user.populate(order_id)
是否有在 Rails 中执行此操作的选项?我见过 select 功能,但它似乎不起作用,无论如何我都在使用 User.find() 。
有什么想法吗?
【问题讨论】:
标签:
ruby-on-rails
model
rails-activerecord
auto-populate
【解决方案1】:
当您说订单属于用户时,您应该在 orders 表中有user_id,但在users 表中没有order_id。
现在我想要一个视图,其中显示一些用户,每个用户
该用户的订单。
现在在要显示用户及其订单的视图中,试试下面的代码
<% @users.each do |user| %>
<%= user.name %> #assuming you have name field in users table.
<% user.orders.each do |order| %>
<%= order.name %> #assuming you have name field in orders table.
<% end %>
<% end %>
@users = User.all 在受尊重的控制器操作中定义。