radio button をslimで Ruby

slimが未だ苦手です。
radio buttonが案外手こずったのでメモ
成功したコードは以下

.form-checkだけだと縦並びになります。
.form-checl-inlineにすると横並び

1つのボタンを選ぶようにするには

name属性を指定しないと、ボタン押しても両方ついてしかも消せない状態になります。
複数のラジオボタンに同じ名前を付けることで、1つのグループを作成することができ、その中から一つしか選択できないことになります。
ここでは name: speech と同じname属性speechを与えた事で
どちらかしか選べなくなりました。


やったー!

参考URL

面白すぎる。ボタン選択できるけどデータがcatchできない。
なんかパラメータでデータ飛んできていない模様。
何がいけない??

modelにrails g migrationでボタン選択内容入るspeechカラム作る
controllerのstrong parameterにspeechもrequireでcatchできるようにする
①番の問題は、上のコードだった。

radio_button :speech にして、そのボタンをspeechカラムと結びつけなくてはいけなかったのだ。
しかも分からぬまま :speech だけ変更して 

=f. radio_button :speech, true, name: ‘speech’,class: ‘form-check-input

とtrueをこのままにしたら、何故か parameterも飛んでこない始末。
深く学ばないとですね。

value属性で値getすると言うので、書いてたのですが、

=f. radio_button :speech, name: ‘speech’, value: ‘verb’,class: ‘form-check-input’

と書くと、

speech: “{:name=>\”speech\”, :value=>\”verb\”, :class=>\”form-ch…”>

となってしまい、valueの取り出し方が分からなくて・・・

私は選択されたボタン名を一覧に表示したかったのですが、
以下で大丈夫だったようです。

f.radio_buttn :speech(カラム名), “adv”(カラムに入れたい値)

name属性必要と思ってたのですが、なくても1つに選択できました。何故だ・・・

これでindexで簡単に選択された値を表示することができました。

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)