Creating Radio Buttons
Creating radio buttons is a little more complicated and not
something that the scaffolding will do for you. Just as when you create
radio buttons in HTML, radio buttons in Rails are created as independent
objects, united only by a naming convention. Radio buttons are often
effectively used for small selection lists, so this example will focus
on the country field, offering just a
few options.
For the first round, we’ll just create some linked buttons by brute force, as shown in Example 6-3.
Example 6-3. Asking Rails to create a specific list of linked radio buttons
<p>
<b>Country</b><br />
<%= f.radio_button :country, 'USA' %> USA<br />
<%= f.radio_button :country, 'Canada' %> Canada<br />
<%= f.radio_button :country, 'Mexico' %> Mexico<br />
</p>This will generate the result shown in Figure 6-2.

Figure 6-2. Simple radio buttons added to a Rails-based form
The HTML this created is pretty simple:
<p>
<b>Country</b><br />
<input id="person_country_usa" name="person[country]" type="radio"
value="USA" /> USA<br />
<input id="person_country_canada" name="person[country]" type="radio"
value="Canada" /> Canada<br />
<input id="person_country_mexico" name="person[country]" type="radio"
value="Mexico" /> Mexico<br />
</p>If the underlying :country
object had had a value that matched any of these, Rails would have added
a checked="checked" attribute to the input element. Since ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access