2016-03-16 49 views
1

我正在使用SimpleForm 3.2.1與Rails 4.我試圖將一個鋼軌形式轉換爲simple_form。這是與普通軌道形式單選按鈕的工作原理代碼:個人simple_form單選按鈕

<ul class="list-radios list-multiplier"> 
    <% @organization_plans.each_with_index do |plan, index| %> 

     <li> 
     <div class="radio custom-radio"> 
      <%= f.radio_button :plan_id, plan.id, id: "field-rad#{index}", data: {price: plan.total_price} %> 

      <label class="form-label" for='field-rad<%= index %>'> 
      <span></span> 

      <%= plan.description %> 
      </label> 
     </div><!-- /.radio --> 
     </li> 
    <% end %> 
    </ul><!-- /.list-radios --> 

我試圖將它與下面的代碼SimpleForm:

<ul class="list-radios list-multiplier"> 
    <% @organization_plans.each_with_index do |plan, index| %> 

     <li> 
     <div class="radio custom-radio"> 
      <%= f.input :plan_id, value: plan.id, input_html: {id: "field-rad#{index}"}, data: {price: plan.total_price}, label: false, as: :radio %> 

      <label class="form-label" for='field-rad<%= index %>'> 
      <span></span> 

      <%= plan.description %> 
      </label> 
     </div><!-- /.radio --> 
     </li> 
    <% end %> 
    </ul><!-- /.list-radios --> 

然而,當我在打開網頁瀏覽器我得到的錯誤:

No input found for radio 

如何獲得這種形式開始與simple_form工作?

回答

0

根據SimpleForm source code它沒有默認的radio輸入。這種寶石的

文檔建議一些方法來使用單選按鈕:

  • 您可以編寫自己的自定義輸入

    1. <%= f.input :plan, as: :radio_buttons %>
    2. <%= f.input :plan, as: :boolean %>(有一些額外的價值手柄),F.E.名爲radio並放入文件夾應用程序/輸入。 Read more about custom inputs
  • 0

    使用常規導軌幫助程序沒有任何問題。如果你想要一致的包裝,你可以將它們嵌套在輸入中。它可以看起來像

    = f.input :plan_id, label: false do 
        ul 
        - @organization_plans.each do |plan| 
         li 
         = f.radio_button :plan_id, plan.id 
         = f.label :plan_id, plan.description, value: plan.id 
    

    當然,你也可以使用集合,如果你並不需要太多的定製

    = f.input :plan_id, collection: @organization_plans.pluck(:id, :description), as: :radio_buttons, label: false