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>