2014-09-10 49 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

相关问题