2016-07-14 2 views
0

부트 스트랩 4의 폼 라디오 컴포넌트를 사용하려고합니다.레일즈 커스터마이징 5 부트 스트랩 4와 함께 작동하는 collection_radio_buttons

사용 :

  • 레일 5
  • 부트 스트랩 4 (bootstrap_ruby 보석)이 같이

:

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

내가 할 수있는 collection_radio_buttons 도우미 메서드를 사용하려고 해요 이것을 달성하십시오 그러나 나는 어떤 운이 없어요.

다른 사람이 어떻게 할 수 있습니까? 미리 감사드립니다.

현재, 내가 가진 : 나는 레이블 이름을 얻는 방법을 잘 모르겠어요 때문에 레이블 이름을 실종

<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는 문서를 참조하기위한 트릭을 수행했습니다. –

관련 문제