我有以下下拉列表:
<%= select_tag 'category', options_from_collection_for_select(@categories, "id", "name"), prompt: "Select Category"%>
我是rails的新手。当我点击此下拉菜单中的任何Category
时,我想在桌面上显示数据。有没有办法只在Ruby代码中执行此操作。
答案 0 :(得分: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();
});
});