私はユーザーがそれぞれのテーブルで利用可能なコンポーネントに基づいてpc(システム)のコンポーネントをカスタマイズできるアプリケーションを構築しています。マザーボードテーブル、CPUテーブルなど)特定の属性を持つオプションのみを表示するレールでcollection_selectを作成する方法
私は、システムフォームのドロップダウンメニューからコンポーネントを選択できるようにしたいと考えています。
私はこの
<%= collection_select(:system, :motherboard_id, Motherboard.all, :id, :model, prompt: true) %>
ようcollection_select使用することによってこれを達成することができましたしかし、collection_selectは、テーブル内のすべてのコンポーネントを表示し、私はavailable: true
属性を持っているそれらのコンポーネントを表示したいです。
私は、各項目の可用性をチェックするbefore_save
コールバックを追加することを考えたが、それはそれが仕事を得るための唯一の方法ではない場合、私undefined method 'map' for false:FalseClass
screenshot:
になり
<%= collection_select(:system, :motherboard_id, Motherboard.any? {|mobo| mobo.available?} , :id, :model, prompt: true) %>
を試してみましたUXの観点から判断が悪いと思われる
これは完璧に動作します!どうもありがとうございます!私は数日間このことに固執してきました。 – disc0ninja
@ disc0ninjaこれがうまくいく場合は、あなたの質問に対する答えとしてShannonの投稿をマークしてください。 – BoraMa