Ruby on rails RubyonRails-将选项添加到每个选项组中的选项组,这些选项组来自\u集合\u,用于\u选择
以下代码:Ruby on rails RubyonRails-将选项添加到每个选项组中的选项组,这些选项组来自\u集合\u,用于\u选择,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,以下代码: <%= select_tag "Cat", option_groups_from_collection_for_select(Category.all, :subcategories, :name, :id, :name, 3) %> 将生成如下输出: Name Full First Last Username Nickname Email Personal Work ... 名称 满满的 弗斯特 最后 用户名
<%= select_tag "Cat", option_groups_from_collection_for_select(Category.all, :subcategories, :name, :id, :name, 3) %>
将生成如下输出:
Name
Full
First
Last
Username
Nickname
Email
Personal
Work
...
名称
满满的
弗斯特
最后
用户名
昵称
电子邮件
个人的
工作
...
我需要的是在每个optgroup标签(名称、电子邮件)上附加一个“All”选项,以便输出如下:
Name
All
Full
First
Last
Username
Nickname
Email
All
Personal
Work
...
名称
全部的
满满的
弗斯特
最后
用户名
昵称
电子邮件
全部的
个人的
工作
...
TIA我想说的是,在每个类别中添加一个虚拟子类别“All”,并在控制器中适当地处理“All”的选择 或(在注释后添加): 从_collection_中为_select获取
选项_groups_的输出字符串,对其进行xml解析(例如使用Nokogiri),查找所有类别节点并添加以下形式的xml子节点
<option value="<categoryname>-all">All</option>
全部
并将结果字符串化。之后,您可以在控制器中处理返回的值-all
。选择“all”时所需的行为是什么?我将此用于高级搜索页面。若用户选择了一个特定的子类别(比如用户名),那个么我只搜索用户名;如果用户选择“全部”,那么我将搜索名称类别(其中将包括所有子类别)。我不想走这条路线(如果有办法修改“选择”的“集合”中的“组”选项),因为我在其他地方广泛使用“类别/子类别”字段。然后我就不得不过滤掉所有我不想要的地方;我的另一个建议呢?可能有点牵强?Atastor-您的建议让我朝着正确的方向思考,但我使用JQuery提出了如下内容:$(“#Cat optgroup[label='Name']”)。prepend('All');这很有效。谢谢你的建议。是的,那当然也行。我对所有javascript都有点笨拙,不过:-)很高兴我能帮忙:-)