Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails-将选项添加到每个选项组中的选项组,这些选项组来自\u集合\u,用于\u选择_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

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都有点笨拙,不过:-)很高兴我能帮忙:-)