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. ...
Get Learning Rails now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.