Ich versuche, die Länder meiner Produkte innerhalb eines select-Tages mitWie gebe ich verschiedene Werte mit options_from_collection_for_select helper zurück?
options_from_collection_for_select()
Ich habe ein Produktmodell, mit Land als Spaltennamen zurückzukehren. Mein Code wie dies
<%= select_tag(:country, options_from_collection_for_select(Product.all.order(:country), :id, :country), :prompt => "Alle Länder") %>
sieht aber es mir jedes Land mehr gibt als einmal in dem Drop-Down-Feld das heißt jedes Land erscheint 20-mal.
Jetzt versucht, ich habe eine Lösung in einer ähnlichen Frage vorgeschlagen zu verwenden, wie so
options_from_collection_for_select(Product.all.pluck('DISTINCT country'), :id, :country), :prompt => "Alle Länder") %>
aber ich erhalte eine Fehlermeldung besagt:
"undefined method `country' for "Spain":String
Did you mean? count"
Jetzt kann ich nicht herausfinden, welche Methode ist in diesem Fall angebracht.
Vielen Dank!
Sie bereits Strings erhalten, wenn Sie 'verwenden pluck'. Ich nehme auch an, dass diese Abfrage Ihnen IDs von Produkten geben würde, nicht Länder. Vielleicht sollte Ihr Modell eine country_id anstelle eines Ländernamens haben? Sie können versuchen, 'select_tag (: country, Product.all.pluck ('DISTINCT land'))' –