Für meine Form, ich habe dies:Druck zwei Werte in collection_select (Rails Forms)
<%= tag_field.collection_select(:id, Material.order(:name), :id, :name,
:prompt => "-select-")%>
Dies druckt meine Materialien Namen. Beispiel:
Cat
Cat
Dies ist jedoch nicht hilfreich, da die Materialien, die die gleichen Namen haben. Es gibt ein weiteres Attribut im Material-Datensatz: Farbe.
Ich will es dieses
in der Dropdown-Liste auszudruckenCat - Brown
Cat - Orange
Wie gehe ich um dies zu tun? Ich habe versucht, stattdessen eine Methode aufzurufen, aber sie druckt nicht so, wie ich es möchte. Hier ist was ich getan habe.
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
jedoch die Drop-Down-druckt wie folgt aus:
["Cat - Brown", "Cat - Orange"]
["Cat - Brown", "Cat - Orange"]
Er druckt zweimal aus, mit den gleichen Werten. Ich denke ich bin nah dran? Bitte helfen Sie.