2016-07-27 3 views
0

Ich habe ein Auswahlfeld in meinem Formular, wo ich einen Benutzer aus einer Liste auswählen kann. Dies speichert korrekt und wendet den Benutzer auf mein Chasing-Modell an, aber ich frage mich, ob es möglich ist, dass die Auswahl den aktuell zugewiesenen Benutzer anzeigt, anstatt ihn jedes Mal neu zu setzen, wenn ich das Objekt bearbeite. Meine Form-Code ist:Wie befülle ich meine Auswahlbox mit der aktuellen ID in Schienen

<%= f.select :user_id, options_for_select(User.all.map {|c| [c.name, c.id]}), { :include_blank => "Please select user"}, {:class => "form-control"} %> 

ich es auch so gemacht habe, dass die Form die Anwesenheit von Benutzern muss gespeichert werden, jedoch kann es vorkommen, dass ich ein neues Verfolgen mit einem Standardbenutzer speichern muß (so genanntes 'Nicht zugewiesen'). Gibt es eine Möglichkeit, die Auswahlbox auf diesen Benutzer zu setzen, es sei denn, ist dem Chasing bereits ein Benutzer zugewiesen?

Jede mögliche Hilfe bei diesem würde sehr geschätzt :)

Antwort

1

Fügen Sie einfach @object.field_name in options_for_select nach collection wie folgt.

<%= f.select :user_id, options_for_select(User.all.map {|c| [c.name, c.id]}, @object.user_id), { :include_blank => "Please select user"}, {:class => "form-control"} %> 

Ich hoffe, dies wird Ihr Problem beheben.

+0

Awesome, das funktioniert, danke :) – Rixcy

0

Sie können :selected => value als param passieren

<%= f.select :user_id, options_for_select(User.all.map {|c| [c.name, c.id]}), { :include_blank => "Please select user"}, {:class => "form-control", :selected => o.customer_id } %> 
+0

Ich empfehle die Parameter in 'options_for_select' mit – siegy22

Verwandte Themen