【Rails】radio_buttonとlabelタグのfor属性を適切に設定する

【Rails】radio_buttonとlabelタグのfor属性を適切に設定する

スポンサーリンク

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>

rails/form_helper.rb – rails/rails

プログラミング学習につまづいていませんか?

自分の力で勉強していく独学は大変です。ゼロからだとなおさら辛いはず。

一人でやっていると、誰かに教えてもらいたい、もっと効率的にプログラミングを学びたい、という場面が必ずあります。

ということならばスクールを検討してみてはいかがでしょう。

オンラインで完結するプログラミングスクール「TECH::CAMP」

TECH::CAMP

TECH::CAMPは人気・評判がともに高く、月額12,800円から受講できるオンライン対応のプログラミングスクールです。

TECH::CAMPでは、ネットで受講できて講師にも質問し放題なので、好きなときに必要な知識を重点的に勉強できます。
オンラインスクールを利用すれば、住んでる場所に関係なくプログラミングスキルが磨けますよ

独学がちょっと苦しくなってしまった……という方は、オンラインでの受講を考えてみてはいかがでしょうか。

【Rails】radio_buttonとlabelタグのfor属性を適切に設定する