2010-02-14 2 views
0

J'essaie d'afficher des informations concaténées dans le texte déroulant.comment afficher les informations concaténées (à partir de la relation) dans collection_select

C'est ce que j'ai:

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

Produit belongs_to catégorie.

donc je peux faire ce qui suit qui fonctionne très bien:

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

Donc finalement je veux une liste déroulante qui a categoryname - product name

Par exemple: si le nom de la catégorie est comestible et le nom du produit est Brownie puis dans déroulant je veux Edible - Brownie

Répondre

0

il y a deux différentes façons de le faire, mais je définirais une nouvelle méthode d'instance sur le modèle du produit similaire:

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

Ensuite, vous pouvez utiliser dans votre vue:

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