Tutorial :how to show concatenated information (from relationship) in collection_select



Question:

I am trying to show concatenated information in the drop downs text.

This is what I have:

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

Product belongs_to category.

So i can do the following which works fine:

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

So eventually i want a drop down that has categoryname - product name

For example: if category name is Edible and product name is Brownie then in drop down i want Edible - Brownie


Solution:1

There's a couple of different ways of doing it, but I would define a new instance method on the product model like:

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

Then you can use this in your view:

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

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »