2017-12-11 11 views
0

그래서 나는 다음과 같은 코드를 가지고 :간단한 양식

<%= f.collection_radio_buttons :sex, [['male', 'Male'], ['female', 'Female']], :first, :last %> 
내가 그룹에 '성별'라벨을 추가 할

. 이 일을하는 가장 좋은 방법에 대한 생각?

+0

[this] (https://stackoverflow.com/a/17193162/5025116)을 보았습니까? –

+0

'f.label : sex ', "Gender"'시도 했습니까? 라디오 버튼은'select'와 다른 동작을하기 때문에'label' 만이 유일한 방법이라고 생각합니다. – yeuem1vannam

답변

0

사용 예제는 options_for_select() https://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/options_for_select 문서를 참조하십시오.

options_for_select(['Male', 'Female'], f.object.sex) 
options_for_select(['Male', 'Female'], :selected => f.object.sex) 

또는, 당신은 이미 당신의 폼 객체의 섹스() 값을 사용하는이 작업을 수행 할 수 있습니다

<%= f.select :sex, ['Male', 'Female'] %> 

당신은 radio_button_tag 도우미를 사용할 수 있습니다. 라디오 버튼 위의

<div class="form-group"> 
    <%= label_tag :sex, 'Sex' %> 
    <div class="btn-group" data-toggle="buttons"> 
     <label class="btn btn-default active"> 
     <%= radio_button_tag('options', 'male', params[:options] == 'male') %> 
     Value1 
     </label> 
     <label class="btn btn-default"> 
     <%= radio_button_tag('options', 'Female', params[:options] == 'Female') %> 
     Value2 
     </label> 
    </div> 
    <% end %> 
</div> 
1

장소

<%= f.label :sex, 'Gender' %> 

:

은 예제를 사용하여,이 같은입니다.

0

당신이 SimpleForm를 사용하는 경우, 그 도우미 사용하지 이유 :이 기본 동작 수 있습니다 여기에 사실

<%= f.input, :sex, label: "Gender", as: :radio_buttons, collection: [['Male', 'male'], ['Female', 'female']], value_method: :last, label_method: :last %> 

:value_methodlabel_method은 필요하지 않습니다.

컬렉션을보기에 혼합하는 대신 어딘가에서 도우미로 리팩터링하는 것도 좋은 생각입니다.