2014-05-07 3 views
6

Ich versuche, ein vorhandenes Profil-Setup-Menü zu optimieren, so dass ich bestimmte Felder wie Geschlecht mit Dropdown-Optionen festlegen kann, anstatt den Benutzer sie eingeben müssen. Der Code, wie er steht wie unten ist,Rails Dropdown-Menü mit den erforderlichen Feldern

<%= form_for @profile, html: {multipart: true}, url: profile_path do |f| %> 

    <div class="col-md-6"> 

    <div class="form-group"> 
     <%= f.text_field :firstname, required: true, placeholder: 'Firstname', class: 'form-control' %> 
    </div> 


    <div class="form-group"> 
     <%= f.text_field :lastname, required: true, placeholder: 'Lastname', class: 'form-control' %> 
    </div> 

     <div class="form-group"> 
     <%= f.date_field :dob, required: true, placeholder: 'Date of Birth', class: 'form-control' %> 
    </div> 

    <div class="form-group"> 
     <%= f.text_field :contactnr, required: true, placeholder: 'Contact Number', class: 'form-control' %> 
    </div> 

    <div class="form-group"> 
     <%= f.text_field :address1, required: true, placeholder: 'Address Line 1', class: 'form-control' %> 
    </div> 

    <div class="form-group"> 
     <%= f.text_field :address2, required: true, placeholder: 'Address Line 2', class: 'form-control' %> 
    </div> 

    <div class="form-group"> 
     <%= f.text_field :town, required: true, placeholder: 'Town', class: 'form-control' %> 
    </div> 

    <div class="form-group"> 
     <%= f.text_field :county, required: true, placeholder: 'County', class: 'form-control' %> 
    </div> 

    <div class="form-group"> 
     <%= f.text_field :country, required: true, placeholder: 'Country', class: 'form-control' %> 
    </div> 

    <div class="form-group"> 
     <%= f.text_field :postcode, required: true, placeholder: 'Postcode', class: 'form-control' %> 
    </div> 

    <div class="form-group"> 
     <%= f.text_field :gender, required: true, placeholder: 'Gender', class: 'form-control' %> 
    </div> 

    <form action=""> 
     <input type="radio" name="sex" value="Male">Male<br> 
     <input type="radio" name="sex" value="Memale">Female 
    </form> 

    </div> 

    <div class="col-md-6"> 

    <div class='uploaded-pic'> 
     <%= image_tag @profile.image.url(:medium) %> 
    </div> 

    <div class="form-group"> 
     <%= f.file_field :image %> 
    </div> 

    <%= f.submit class: 'btn btn-success' %> </p> 

    </div> 

<%end%> 

Insbesondere mag ich eine Art Mischung aus den folgenden zwei Teilen des Codes erstellen, so dass der Benutzer einen Wert in der Dropdown, dass dann gespeichert werden wählen können, wenn das Formular eingereicht.

<div class="form-group"> 
      <%= f.text_field :gender, required: true, placeholder: 'Gender', class: 'form-control' %> 
     </div> 

     <form action=""> 
      <input type="radio" name="sex" value="Male">Male<br> 
      <input type="radio" name="sex" value="Memale">Female 
     </form> 

Antwort

9

können Sie einen select wie dieses Mehr Infos

<%= f.select :gender, %w{Male Female}, :prompt => 'Select', required: true, placeholder: 'Gender', class: 'form-control' %> 

verwenden, finden Sie in diesem API.

+1

Perfekt, Prost Mate. Das einzige, was ich bearbeiten musste (für jeden mit einem ähnlichen Problem), war der 'f' Platzhalter (f.select) am Anfang des Codes und um ihn in den entsprechend benannten div- und Klassennamen einzubinden. –

+0

@RichardC Cool! Froh, dass ich Helfen kann :) – Pavan

Verwandte Themen