Rails: 从动态下拉列表创建动态过滤器
Rails: creating dynamic filter from dynamic dropdown list
我是 Rails 的新手,需要帮助。
我在索引页面的导航栏上有一个类别下拉列表,它显示了菜单项列表。下拉列表是从类别 table 动态生成的,但我不知道如何从动态生成的类别动态创建 link 以便按 selected 类别过滤项目。
单击下拉菜单中的类别项时的预期查询如下所示:
select * 来自 menus.category_id = category.id
的菜单
category.rb
class Category < ActiveRecord::Base
has_many :menus
end
menu.rb
class Menu < ActiveRecord::Base
belongs_to :category
end
menus_controller.rb
def index
@brand = Brand.find(params[:brand_id])
@category = @brand.categories
@menu = Menu.where(brand_id: params[:brand_id]).order("created_at DESC")
end
views/menus/index.html.haml
%ul.dropdown-menu
- @category.each do |category|
%li
%a= link_to category.name
我设法从数据库生成了类别,但不知道从哪里开始。请帮忙。
参考这个。 http://pullmonkey.com/2012/08/11/dynamic-select-boxes-ruby-on-rails-3/ 很有魅力。
你只需要这样的东西
collection_select(nil, :genre_id, @genres, :id, :name, {:prompt => "Select a Genre"}, {:id => 'genres_select'})
不需要加
@category.each do |category|
我是 Rails 的新手,需要帮助。 我在索引页面的导航栏上有一个类别下拉列表,它显示了菜单项列表。下拉列表是从类别 table 动态生成的,但我不知道如何从动态生成的类别动态创建 link 以便按 selected 类别过滤项目。
单击下拉菜单中的类别项时的预期查询如下所示:
select * 来自 menus.category_id = category.id
的菜单category.rb
class Category < ActiveRecord::Base
has_many :menus
end
menu.rb
class Menu < ActiveRecord::Base
belongs_to :category
end
menus_controller.rb
def index
@brand = Brand.find(params[:brand_id])
@category = @brand.categories
@menu = Menu.where(brand_id: params[:brand_id]).order("created_at DESC")
end
views/menus/index.html.haml
%ul.dropdown-menu
- @category.each do |category|
%li
%a= link_to category.name
我设法从数据库生成了类别,但不知道从哪里开始。请帮忙。
参考这个。 http://pullmonkey.com/2012/08/11/dynamic-select-boxes-ruby-on-rails-3/ 很有魅力。
你只需要这样的东西
collection_select(nil, :genre_id, @genres, :id, :name, {:prompt => "Select a Genre"}, {:id => 'genres_select'})
不需要加
@category.each do |category|