<%= f.label :multiple_classes, "Do you...">

Rails: form_for and radio buttons

In my form_for

there is the following:
 <div class="multiple_students"> <%= f.label :multiple_classes, "Do you teach multiple classes?" %> <%= f.radio_button :multiple_classes, 1, checked: @user.multiple_classes?, class: 'multiple_classes', data: { question: 'What is your average class size?' } %> <%= f.label :multiple_classes, "Yes", class: 'multiple_classes' %> <%= f.radio_button :multiple_classes, 0, checked: @user.multiple_classes?, class: 'multiple_classes', data: { question: 'How many kids do you teach?' } %> <%= f.label :multiple_classes, "No", class: 'multiple_classes' %> </div> <div class="number_of_students hide"> <%= f.label :students %> <%= f.text_field :students, :class=>"student_count required digits" %> </div> 

For some reason, “NO” is ALWAYS checked even if the user has set the multiple_classes attribute to true in the database ( multiple_classes is a logical type in the database)

+4
source share
2 answers

Well, if you want to use only radio_buttons, check the following and let me know if this worked.

 <%= f.radio_button :multiple_classes, "1", checked: @user.multiple_classes?, class: 'multiple_classes', data: { question: 'What is your average class size?' } %> <%= f.label :multiple_classes, "Yes", class: 'multiple_classes' %> <%= f.radio_button :multiple_classes, "0", checked: @user.multiple_classes?, class: 'multiple_classes', data: { question: 'How many kids do you teach?' } %> <%= f.label :multiple_classes, "No", class: 'multiple_classes' %> 

put 1 and 0 with quotes and try ....

This is not the answer ... his only idea ...

+10
source

The problem with always marked "No" is in a typo.

Should you return @user.multiple_classes? for "No" , the check box will be unchecked if @user.multiple_classes? is true , so the following code fragment should work fine:

 <%= f.radio_button :multiple_classes, 1, checked: @user.multiple_classes?, class: 'multiple_classes', data: { question: 'What is your average class size?' } %> <%= f.label :multiple_classes, "Yes", class: 'multiple_classes' %> <%= f.radio_button :multiple_classes, 0, checked: !@user.multiple _classes?, class: 'multiple_classes', data: { question: 'How many kids do you teach?' } %> <%= f.label :multiple_classes, "No", class: 'multiple_classes' %> 
+1
source

All Articles