我是Rails的新手,需要帮助。 我在索引页面的导航栏上有一个类别下拉列表,其中显示了菜单项列表。下拉列表是从类别表中动态生成的,但我不知道如何从动态生成的类别动态创建链接,以便按所选类别过滤项目。
在下拉菜单中单击类别项时的预期查询将是这样的:
从菜单中选择*,其中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
视图/菜单/ index.html.haml
%ul.dropdown-menu
- @category.each do |category|
%li
%a= link_to category.name
我设法从数据库生成类别,但不知道从哪里开始。请帮忙。
答案 0 :(得分:1)
参考这个。 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|