2014-05-07 18 views
6

Tôi đang cố gắng chỉnh sửa menu cài đặt tiểu sử hiện có để tôi có thể xác định trước các trường nhất định, chẳng hạn như giới tính có tùy chọn thả xuống thay vì người dùng phải nhập chúng. Mã như sau,Trình đơn thả xuống Rails với các trường bắt buộc

<%= 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%> 

Cụ thể, tôi muốn tạo một loại kết hợp hai đoạn mã dưới đây để người dùng có thể chọn giá trị trong trình đơn thả xuống sau đó sẽ được lưu khi biểu mẫu đã gửi.

<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> 

Trả lời

9

Bạn có thể sử dụng một select như thế này

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

Để biết thêm thông tin, hãy xem API.

+1

Perfect, cổ vũ giao phối. Điều duy nhất tôi phải chỉnh sửa (đối với bất kỳ ai có vấn đề tương tự), là trình giữ chỗ 'f' (f.select) ở đầu mã và bọc nó vào tên div và tên lớp thích hợp. –

+0

@RichardC Cool! Rất vui được giúp :) – Pavan

Các vấn đề liên quan