今からプールに泳ぎに行くんですが、その前にメモ。
作り方
options_for_select
で簡単に作れます。
こんな感じで書くと最初から選択した状態にしてくれます。
@numbersには任意の配列を入れておきましょう。
=f.select :quantity, options_for_select(@numbers, {selected: cart.quantity.to_i} )
画像
完成コード
#carts/show.html.haml
=form_for cart, url:"/update_item/#{cart.item_id}", method: :post do |f|
=f.select :quantity, options_for_select(@numbers, {selected: cart.quantity.to_i} )
=f.submit "数量の変更を確定"
Railsガイドによるところ。
options_for_selectでは、デフォルトにしたいオプションを値を渡すことでデフォルト値を設定できます。
生成されるオプション内部の値がこの値とマッチすると、Railsはselected属性を自動的にそのオプションに追加します。
ちょっと良くわかりませんでしたが、とにかくできたので良いとします。
以上です。
参考サイト:
[Action View フォームヘルパー]
(https://railsguides.jp/form_helpers.html#%E3%82%BB%E3%83%AC%E3%82%AF%E3%83%88%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E7%B0%A1%E5%8D%98%E3%81%AB%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B)