2014-09-10 18 views
0

我有以下下拉菜單:我如何在Rails中使用填充下拉上表中的數據4.1

<%= select_tag 'category', options_from_collection_for_select(@categories, "id", "name"), prompt: "Select Category"%>

我在rails.I新希望顯示在表中的數據時,我對任何Category從點擊這個dropdown.Is有任何方法只能在Ruby代碼中完成。

+0

是否要根據所選類別在下拉列表中篩選表格上的數據? – 2014-09-10 13:11:35

+0

是的,我想根據所選類別在下拉列表中篩選表格上的數據。 – John 2014-09-10 13:14:29

+0

請詳細介紹..哪些數據?分類表或關聯表的數據? – 2014-09-10 13:14:35

回答

0

製作按照您的看法的變化:

<%= form_tag search_path, :method => 'get' do %> 
    <%= select_tag 'category', options_from_collection_for_select(@categories, "id", "name"), prompt: "Select Category"%> 
<%= submit_tag "Search", :name => nil %> 

<table> 
    <% @object_for_table.each do |object| %> 
    ----YOUR TABLE DATA HERE--- 
    <% end %> 
</table> 

變化的行動,負責上述觀點:

def search 
    @object_for_table = params[:category].blank? ? Model.all : Model.where(category_id: params[:category]) 
end 

最後進入您的JS對類別選擇提交表單。

$(document).ready(function() { 

    $("select#category").change(function(){ 
    $(this).closest("form").submit(); 
    }); 

}); 
+0

'未定義的方法'each'for nil:NilClass'.' <%@ menus.each do | g | %>' – John 2014-09-11 06:30:47

+0

您的@menus對象爲零。更新你的觀點和行動的代碼。 – 2014-09-11 06:33:36

+0

我有另一個問題。當頁面被刷新時,該值會在下拉列表中丟失。因此,我想保留該值直到我點擊提交按鈕。 – John 2014-09-11 09:17:17

相關問題