2016-07-14 9 views
0

ブートストラップ4のフォーム無線コンポーネントを使用しようとしています。Railsのカスタマイズ5 collection_radio_buttonsをブートストラップ4で使用する

  • Railsのこのよう5
  • ブートストラップ4(bootstrap_ruby GEM)

:私はcollection_radio_buttonsヘルパーメソッドを使用しようとしている

<div class="radio"> 
    <label> 
    <input type="radio" name="exampleRadios" id="exampleRadios1" value="option1" checked> 
    Option one is this and that&mdash;be sure to include why it's great 
    </label> 
</div> 
<div class="radio"> 
    <label> 
    <input type="radio" name="exampleRadios" id="exampleRadios2" value="option2"> 
    Option two can be something else and selecting it will deselect option one 
    </label> 
</div> 
<div class="radio disabled"> 
    <label> 
    <input type="radio" name="exampleRadios" id="exampleRadios3" value="option3" disabled> 
    Option three is disabled 
    </label> 
</div> 

を使用して

これを達成するが、私は運がない。

どうすればいいですか?前もって感謝します。

現在、私が持っている:私はラベル名を取得するかどうかはわかりませんので、それはラベル名を欠けて

<div class="radio"> 
    <%= collection_radio_buttons(:post, :category_id, Category.all, :id, :name) do |b| %> 
    <%= b.label do %> 
     <%= b.radio_button %> 
    <% end %> 
    <% end %> 
</div> 

私はlabel.nameを試しましたが、エラーが発生しています。

これは私が現在取得しています出力されます:

<div class="radio"> 
<input type="hidden" name="post[category_id]" value=""> 
<label for="post_category_id_1"> 
    <input type="radio" value="2" name="post[category_id]" id="post_category_id_30"> 
</label> 
<label for="post_category_id_2"> 
    <input type="radio" value="2" name="post[category_id]" id="post_category_id_31"> 
</label> 
<label for="post_category_id_3"> 
    <input type="radio" value="3" name="post[category_id]" id="post_category_id_32"> 
</label> 
</div> 

答えて

2

collection_radio_buttons accepts a blockを、そしてあなたが探している方法はtextです:

<%= collection_radio_buttons(:post, :category_id, Category.all, :id, :name) do |b| %> 
    <div class="radio"> 
    <%= b.label do %> 
     <%= b.radio_button + b.text %> 
    <% end %> 
    </div> 
<% end %> 

あなたはオプション3無効にする必要がある場合、あなたは可能性があり何らかのモデルメソッドを追加して無効にするかどうかを確認し、<%= b.object.disabled? ? 'disabled' : '' %>のようなものを<div class="radio">タグに追加します。 b.radio_buttonコール(b.radio_button(disabled: b.object.disabled?))と同じです。

+0

ありがとう@flanger001 :) b.textは、ドキュメントを参照してくれてありがとう。 –

関連する問題