【发布时间】:2016-10-31 09:05:21
【问题描述】:
这与之前问过的question有关
我在 Product 和 Supplier 之间设置了 has_and_belongs_to_many。
在我看来,我使用:
<td><%= product.suppliers.map {|supplier| supplier.NAME }.join(', ') %></td>
在我的表格中为每个产品的每一行显示以逗号分隔的供应商列表。
我现在需要在发票索引视图中显示相同的列表。 Invoices 表有一列 PRODUCT。我已经在 Invoice 模型上设置了 belongs_to :product。
我在发票索引视图中尝试过:
<td><%= invoice.product.suppliers.map {|supplier| product.supplier.NAME }.join(', ') %></td>
但它会返回
错误未定义的局部变量或方法`product'
为什么这不起作用?我该如何解决?提前致谢。
【问题讨论】:
-
每张发票是否只针对一种产品?这听起来不对。通常你会有类似 InvoiceLineItem 模型来将发票与产品相关联。顺便说一句,对于您的第一个查询,请尝试:product.suppliers.map(&:NAME).to_sentence(名称真的大写吗?)
-
这只是给出这个想法的一个例子。真实数据库是有发票行。列名是大写的不是错字。您的解决方案有效,但我必须在前面添加
invoice.。谢谢!
标签: ruby-on-rails associations