2012-07-14 110 views
2

我想创建一个菜单像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 

所以基本上我想添加一个。而(:选项=> “的iPad”),到最后如果查询每当我从下拉菜单中选择另一个项目。

是否有意义?

+0

向我们展示您迄今为止所做的工作,以获得您想要的结果! – Kyle 2012-07-14 20:53:28

回答

0

你很近。当我做面搜索,我第一次在我的控制器创建一个空的数组开始:

@current_items = [] 

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

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

然后调用@current_items为返回的项目视图中的数组。每评论

面搜索

更新是可以通过选择和或选择针对不同属性缩小搜索。

如果这就是你要找的,这听起来像你可能想嵌入一个完整的搜索功能。我建议使用太阳黑子或狮身人面像。这两项工作都做得很好。

+0

分面搜索。不知道那是我想要做的事情:-)。我如何让下拉菜单通过让人们选择他们想看的项目来进行搜索?这有什么好的宝石? – 2012-07-14 22:41:16