前提・実現したいこと
アクティブハッシュに追加したハッシュ内の複数の値をプルダウンメニューで選択し、情報を取得したいです。
発生している問題・エラーメッセージ
プルダウンの実装にf.collection_selectを使用していますが、引数の数に制限がありアクティブハッシュから複数の値を取得できない状況です。
実際には「name」の他に「price」や「kcal」の情報も、プルダウンメニューで選択された際に取得したいです。(プルダウンメニューに表示されるのはnameの値のみ)
ruby
1class Onigiri < ActiveHash::Base 2 self.data = [ 3 { id: 1, name: '--' }, 4 { id: 2, name: 'コク旨炒飯おむすび', price: 121, kcal:220, carbohydrate:39, protein:5, lipid:4, vitamin:0, mineral:0}, 5 { id: 3, name: '梅おむすび', price:100, kcal:185, carbohydrate:41, protein:3, lipid:1, vitamin:0, mineral:0 }, 6 { id: 4, name: '鮭おむすび', price: 139, kcal:188, carbohydrate:37, protein:6, lipid:2, vitamin:0, mineral:0 } 7 ] 8end
<%= form_with model: @order, url:orders_path, local: true do |f| %> <div class="article-box"> おにぎり <%= f.collection_select(:onigiri_id, Onigiri.all, :id, :name, {}, {class:"onigiri-select"}) %> </div> <div class="article-box">
試したこと
id以外をキー「all」の値としてネストすることで値を取得できないか試してみましたがエラーが起きます。
ruby
1{ id: 2, all:{ name: 'コク旨炒飯おむすび', price: 121, kcal:220, carbohydrate:39, protein:5, lipid:4, vitamin:0, mineral:0}},
ruby
1<%= f.collection_select(:onigiri_id, Onigiri.all, :id, :all[:name], {}, {class:"onigiri-select"}) %>
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー