2017-02-13 5 views
0

私は、has_many/belongs_toアソシエーションを持っているCategoryFooモデルを持っています。 newフォームでは、ユーザはレストラン(Restaurant)やバー(Bar)などのカテゴリを選択する必要があります。つまり、それぞれのfooがレストランカテゴリまたはバーカテゴリに属する​​ことを意味します。select_tagにALLカテゴリをデフォルトとして追加するには?

indexのページには、select_tagがあります。そのため、ユーザーはレストランまたはバーのどちらでもフィルタリングできます。

<%= form_tag foos_path, method: :get, id: "search" do %> 
    <div class="form-group"> 
    <%= select_tag :category_id, options_from_collection_for_select(Category.all, :id, :name), class: "category-dropdown" %> 
    <%= text_field_tag :q, nil, class: "form-control", placeholder: "Search" %> 
    <%= button_tag class: "btn search-btn" do %> 
     <i class="fa fa-search" aria-hidden="true"></i> 
    <% end %> 
    </div> 
<% end %> 

デフォルトで選択されているALLカテゴリを追加するにはどうすればよいですか?

答えて

1
​​

あなたがコントローラで、いくつかの条件を記述する必要があるかもしれない場合のparams [:CATEGORY_ID]あなたのコントローラのアクションで== 'すべて'

0

書き込み

@categories = Category.all 

より

<%= collection_select(:category_id, @categories, :id, :name) %> 
0

プロンプトを使用<%= select_tag:category_id、options_for_select(Category.all、:id、:name)、:prompt => "Al "カテゴリ"、クラス: "カテゴリ - ドロップダウン"%>

+0

ようこそスタックオーバーフロー:)これは質問に答えるかもしれませんが、なぜそれが機能するのかを説明するのが最善です。あなたの答え。 – juunas

+0

いいえ、それは私が欲しかった解決策ではありません。 – boholdyjeramae

関連する問題