背景:レール - 関連モデルからプルダウンで選択ハッシュ要素は、フィールドに要素を割り当てる
Organisation has_many :items
Item belongs_to :organisation
機関表:これは、ハッシュの配列、缶は
t.hstore "suppliers", array: true
ありますそのような組織のページにアクセスする:
@organisation.suppliers =
[{"contact_id"=>"4ab343ad-1ebb-4afe-9d48-1814a93c2081", "contact_name"=>"Small Business Pty Ltd"},
{"contact_id"=>"42771b60-19a7-4692-af81-dd9f9b9362d4", "contact_name"=>"ABC Furniture"},
{"contact_id"=>"3e776c4b-ea9e-4bb1-96be-6b0c7a71a37f", "contact_name"=>"Bayside Club"}]
の
アイテムこれはちょうど形でハッシュであるべきである
t.hstore “selected_supplier”
表:
@item.selected_supplier = {"contact_id" => "4ab343ad-1ebb-4afe-9d48-1814a93c2081", "contact_name"=>"Small Business Pty Ltd"}
注:唯一のハッシュ、ハッシュのない配列。
私はそうのように、アイテムの編集ページで、ドロップダウンにハッシュの@organisation.suppliers
配列を表示することができるよ:
<%= f.select :selected_supplier, options_for_select(@item.organisation.suppliers.collect {|x| [x['contact_name'], x['contact_id']] })%>
質問1:どのように私はedit.htmlに選択することができます。上記のように、のうちの1つであるerb viewを選択し、選択したハッシュをハッシュで@item.selected_supplier
列に保存しますか?
@item.selected_supplier
フィールドを次のようにshow.html.erbビューに表示します。<%= @item.selected_supplier %>
編集を保存して保存すると、{} Ie。何も実際にデータベースに保存されていません。
質問2:どのようにして、選択した要素、つまり保存後の要素のリストを表示できますか?
それは複数の項目を有することができ、各項目が異なるサプライヤーを使用することができるように私は、組織内“selected” = “true”
サプライヤーに相当する追加することはできません。
私はこの問題に取り組む方法についての代替提案を開いています。
Railsの5.0.0.1、Rubyの2.3.3