對於我的形式,我有這樣的:打印兩個值(Rails的形式)
<%= tag_field.collection_select(:id, Material.order(:name), :id, :name,
:prompt => "-select-")%>
這將打印我的材料名稱。 示例:
Cat
Cat
但是,這沒有幫助,因爲材料具有相同的名稱。 「材質」記錄中還有另一個屬性:顏色。
我希望它打印出此下拉
Cat - Brown
Cat - Orange
我如何去這樣做呢?我嘗試調用一個方法,但它不打印我想要的方式。這就是我所做的。
View:
<%= tag_field.collection_select(:id, Material.order(:name), :id, :something,
:prompt => "-select-")%>
Model:
def something
materials_array = []
Material.all.each do |material|
if material.color == nil
material.name + '-' + material.size
else
materials_array.push(material.name + '-' + material.color)
end
end
materials_array
end
然而,下拉打印出這樣的:
["Cat - Brown", "Cat - Orange"]
["Cat - Brown", "Cat - Orange"]
它打印出兩次,相同的價值觀。我覺得我很近?請幫忙。