2017-02-09 5 views
-1

Wie ich manuell die Optionen eines select eingeben kann, habe ich mit dem folgenden:Optionen wählen in Schienen

<%= f.collection_select :establecimiento_id, Establecimiento.order(:nombre), :id, :nombre, include_blank: true %> 

Aber das verwendet wird, um Daten aus einer Tabelle auswählen, ich will mit dem erstellen Monate, wird es notwendig sein, eine Tabelle mit den Monaten zu erstellen oder gibt es eine Möglichkeit, den Code einzugeben, was ich will?

Antwort

0

Der zweite Parameter (in Ihrem Fall Establecimiento.order(:nombre)) ist die Sammlung für Ihre Auswahl. Sie können ein Array mit Paaren von Werten für value und text dieser Option übergeben. Zum Beispiel, [[1,"January"], [2,"February"] ] und so weiter gibt Ihnen die Optionen mit dem Monatsnamen, und der Wert, der übermittelt wird, ist der erste des Paares (in diesem Fall die Anzahl der Monate, könnte aber trotzdem der Name sein. Es hängt davon ab, was Sie erreichen wollen).

Ich hoffe, es hilft. Viel Glück!

+0

Ich habe diese: nicht definierte Methode 'nombre‘ für [1, "Januar"]: Array (Ich möchte den Namen "Januar" speichern) – Bryan

0

Versuchen:

<%= f.collection_select :establecimiento_id, collection:[[1,"January"], [2,"February"] ], :id, :nombre, include_blank: true %> 

Ich bin nicht sicher über die Syntax, sondern vor Antwort gab es schon weg. Sie können Optionen manuell übergeben. Prüfen Sie API für collection_select:

http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/collection_select

+0

ich diesen Fehler habe: Syntax error, unexpected ',', erwartet tASSOC ... nuary "], [2," Februar "]],: id,: nombre, include_blank: wahr ... ... ^ – Bryan