如何打印属于该表的所有元素
好吧,我不确定我的标题是否足够清楚,但我会尝试解释
我有两个表:具有许多项目的订单和属于订单的项目。 我刚刚开始学习 RoR,并坚持完成一个简单的任务。我想要的只是 显示订单和相关项目,如下所示:
订单 1:
第 1 项
项目 2
订单 2:
第 1 项
第 2 项
...
我知道如何单独显示订单或商品,我知道如何显示商品的订单(item.order.id),但是如何在上面的表格中显示订单和商品?在我显示订单的模板中,我可以在每次迭代中遍历每个项目,并将其外部 order_id 与 order.id 进行比较,但这会很尴尬。我假设我应该将项目放入某种多维哈希中,其中键是 order_id,然后我可以通过订单 id 引用该哈希并获取其中的所有项目,但我不确定它是否正确。
我希望我在这里写的内容是可以理解的。
Ok, I'm not sure that my title was clear enough, but I will try to explain
I have two tables: orders that has_many items and items that belongs_to orders.
I just started to learn RoR and stuck with a simple task. All I want is to
display orders and related items like this:
Order 1:
Item 1
Item 2
Order 2:
Item 1
Item 2
...
I know how to display orders or items separately, I know how to display items' orders (item.order.id), but how to display orders and items in the table like above? In template where I display orders I could go through each item every iteration and compare it foreign order_id with order.id, but that would be awkward. I'm supposing that I should get items into some kind of multidimensional hash where key would be order_id and then I could just refer to this hash by order id and get all items in it, but I'm not sure it's correct.
I hope what I have written here is understandable.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当您定义
has_many
关系时,您会自动获取查询这些对象的方法。在本例中,使用order.items
方法。所以你可以这样做:(
我使用了 find_each 方法,该方法可从 Rails 获得2.3+。不过,您可以使用简单的
Order.all.each
。When you define a
has_many
relation, you automatically get the methods to query those objects. In this case, the methodorder.items
.So you can do:
(I used find_each method, which is available from Rails 2.3+. You could use a simple
Order.all.each
though.