使用下拉菜单创建菜单

时间:2012-07-14 20:04:44

标签: html ruby-on-rails ruby ruby-on-rails-3 menu

我想在this design

上创建一个菜单

一个菜单,您可以在其中选择要排序的类别以及您想要的类别。因此,当人们按下“精选设计”时,将显示所有设置为“特色”字段的iPhone设计。我希望人们能够从下拉菜单中选择iPad设计,然后才能显示出精选的iPad设计。我不知道怎么做到这一点。

有人可以给我一个指针吗?

我正在使用rails 3.2.2和mongoid。

更多信息

所以我在Meer.li完成了所有事情。菜单就在那里,应有尽有。我唯一需要补充的是下拉菜单(就像你在表格中看到的那样),所以我可以选择是否要看iPhone,iPad,Windows设计等。

我可以在rails中创建一个下拉菜单,但是如何使用它作为一种查询方式(就像你使用常规菜单一样),是另一回事。

型号代码:

field :featured, :type => Boolean, :default => false
field :project_number, :type => Integer, :default => 0
field :show, :type => Boolean, :default => true
field :full_member, :type => Boolean, :default => false
field :first_design, :type => Boolean, :default => false
field :option, :type => String 

default_scope desc(:created_at)
scope :full_member_and_show, where(full_member: true).and(show: true)
scope :not_full_member_and_show, where(full_member: false).and(show: true)

控制器代码:

def newest
  designs = Design.full_member_and_show

  respond_to do |format|
    format.html
  end
end

所以基本上我想在每次从下拉菜单中选择其他项目的时候添加.and(:option =>“iPad”)。

有意义吗?

1 个答案:

答案 0 :(得分:0)

你关闭了。当我进行分面搜索时,我首先在控制器中创建一个空数组:

@current_items = []

然后我开始根据我得到的参数添加项目。现在,如果你想在这里真的干,你应该从你的表格中的分面项目的名称命名你的范围。反之亦然,在表单之外命名您的范围。通过这种方式你可以做这样的事情:

params[:faceted_items].each do |item|
  @current_items << Object.where("#{item}" => true)
end

然后将@current_items作为视图中返回项目的数组。

每条评论更新

分面搜索是一种可以通过选择和/或选择不同属性来缩小范围的搜索。

如果这是您正在寻找的内容,听起来您可能想要嵌入整个搜索功能。我建议使用太阳黑子或狮身人面像。两人都在完成这项工作。