如何在collection_select中显示连接信息(来自关系)

时间:2010-02-14 23:49:33

标签: ruby-on-rails

我试图在下拉文本中显示连接的信息。

这就是我所拥有的:

<%=collection_select(:product, 'prod_name', @prods, :id, 
"#{:category.name - :prod_name}", {:prompt => 'Select Product'})%>

产品belongs_to类别。

所以我可以做到以下工作正常:

@p = Product.all
@p.first.prod_name
@p.first.category.name

所以最终我想要一个有categoryname - product name

的下拉菜单

例如:如果类别名称是Edible,产品名称是Brownie,那么我需要下拉列表 Edible - Brownie

1 个答案:

答案 0 :(得分:0)

有几种不同的方法,但我会在产品模型上定义一个新的实例方法,如:

def category_product_name
  "#{self.category.name} - #{self.prod_name}"
end

然后你可以在你的视图中使用它:

<%=collection_select(:product, 'prod_name', @prods, :id, :category_product_name, {:prompt => 'Select Product'})%>