2017-12-11 4 views
1

これは私のコードです。うまくいきますが、複数の組織を選択できるようにしたいのですが、この選択では1つしか選択できません。データベースから複数のアイテムを選択するリストを作成するには

<%= f.collection_select :id, 
         Organisation.order(:Company_Name), 
         :id, 
         :Company_Name, 
         options = {include_blank: "Select an Organisation"}, 
         html_options = {:onchange => 'broadcast_dropdown_change(document.getElementById("broadcast_country_id"), document.getElementById("broadcast_organisation_id"))'} %> 

このコードをどのように改善できるかについてのアドバイスとともに、この問題を解決するのを手伝ってください。

ありがとうございます。

+3

[複数のオプティを選択コレクションの\ _select rails](https://stackoverflow.com/questions/18074710/select-multiple-options-in-a-collection-select-rails) – SRack

答えて

0

私はあなただけのhtmlオプションmultiple: trueを追加する必要があります:)うまくいけば、それはそれをやる、簡単にいいと思います!

もしそうでない場合は、許可されたパラメータが、何が通過しているか(おそらくJSONでエンコードされたオプションの配列)と一致するようにして、データベースで適切に解析/保存する必要があります。

複数の例が複写で利用可能私はあなたの投稿にコメントでリンクしています。あなたはどうやったらどうなるのか教えてください。必要な場合はもう少し詳しい情報を提供します!ここではノートの

<%= f.collection_select :id, 
         Organisation.order(:Company_Name), 
         :id, 
         :Company_Name, 
         { include_blank: "Select an Organisation" }, 
         onchange: 'broadcast_dropdown_change(document.getElementById("broadcas‌​t_country_id"), document.getElementById("broadcast_organisation_id")', 
         multiple: true %> 

カップル:あなたのコメントに基づいて


アップデートは、ここでは一例です。この方法は、optionshtml_optionsのためのものであるかかる

  • 最後の2つの引数。 include_blank: ...が前者で、最後の2つの引数が後者の場合
  • これらのハッシュを変数に割り当てる必要はありません。最終ハッシュが暗黙のですが、最初のハッシュは(つまり、あなたがそれらを使用することができますが、あなたはそれが簡単に読むことを発見した場合、)ので、ブラケットを必要としない、第二からそれを区別するために括弧を必要

    { onchange: 'broadcast_dropdown_change(document.getElementById("broadcas‌​t_country_id"), document.getElementById("broadcast_organisation_id")', 
        multiple: true } 
    
  • あなたは変数の命名しているかを簡単に見ている - 例えば、:Company_Nameは常に助け下ヘビケース:company_name

希望する必要があります - - もう一度、私に叫びを与えることは、それらを正しくフォーマットする時間を費やす価値がありますあなたがどのように乗っているか私に教えてください:)

+0

私はこの1つで正しく取得できないようですあなたが投稿したリンクに表示されたようなものを追加すると、このコードに 'multiple:true'を追加します。 ' <%= f.collection_select:id、Organisation.order(:Company_Name) 、:id:Company_Name、options = {include_blank: "組織を選択"}、html_options = {:onchange => 'broadcast_dropdown_change(document.getElementById( "broadcast_country_id")、document.getElementById( "broadcast_organisation_id")、{:multiple => true}) '}%> ' このように、複数選択することはできません。 –

+0

更新していただきありがとうございます。@MrNash - 更新された回答をご覧ください。あなたはこれでほとんどそこにいます。ほんの数回の微調整が必​​要です:)何か質問があれば教えてください! – SRack

+0

ありがとうございました@SRack本当にありがとうございます –

関連する問題