2016-10-14 1 views
0

Ich habe dies mit einfachen Form:Wie in jedem Element der Sammlung mehr Attribute zeigen, mit collection_select

= simple_form_for(Note.new, remote: true) do |f|  
    = f.collection_select :dance_id, current_user.dances.includes(:style).all,  
    :id, :style_name, {prompt: "Please select dance"}, {class: "form-control"} 

-Code generiert:

<select class="form-control" name="note[dance_id]" id="note_dance_id"> 
    <option value="">Please select dance</option> 
    <option value="39">Adowa Dance (Ghana)</option> 
    <option value="38">Adowa Dance (Ghana)</option> 
    <option value="37">Tango (Argentina)</option> 
</select> 

der gut arbeitet, wie es alle Tänze angezeigt wird durch style_name wie ich es will. Aber ich möchte zwischen zwei Tänzen unterscheiden und auch Level und Datum neben jedem Tanz in der Sammlung zeigen wollen, weil es viele Tänze mit demselben Namen bc des gleichen Stils gibt! bitte helfen. Gibt es einen besseren Weg, es mit einfachen Formhelfern zu machen?

+0

Bitte vollständige Form des Code einfügen und auch, wenn möglich, Bitte formuliere deine Frage noch einmal. :) –

+0

ich tat. im Grunde möchte ich in der Lage sein, zeitgenössischen Tanz zu sagen 14. Oktober (was ist der Tanz.date) – loloso

+0

Ist das, was Sie als Text der Option Option anzeigen möchten? –

Antwort

0

Wie in der Diskussion erwähnt, Sie benötigten eine Methode in Ihrem Modell der rb-Datei wie folgt zu erklären:

def custom_name 
"#{style.name}. #{date}" 
end 

und ändern Sie die :style_name Parameter :custom_name

Verwandte Themen