Railsでラジオボタンを出力することがあります。
<%= f.radio_button(:gender, "男性") %> 男性
<%= f.radio_button(:gender, "女性") %> 女性
それと併せてlabel要素も設定するケースが多いと思います。
<%= f.radio_button(:gender, "男性") %>
<%= f.label(:gender, "男性") %>
<%= f.radio_button(:gender, "女性") %>
<%= f.label(:gender, "女性") %>
しかし、これでは label
のfor属性が適切に設定されません。
そこで、label
メソッドのvalueオプションを使用します。
<%= f.radio_button(:gender, "男性") %>
<%= f.label(:gender, "男性", value: "男性") %>
<%= f.radio_button(:gender, "女性") %>
<%= f.label(:gender, "女性", value: "女性") %>
この情報はRailsドキュメントには記載がないので、ご注意を。
label – リファレンス – – Railsドキュメント
※ちなみにRails本体のソースコードにはしっかりとコメントがありました。
label(:post, :privacy, "Public Post", value: "public")
# => <label for="post_privacy_public">Public Post</label>