Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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 如何在分组选择中指定选定元素_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 如何在分组选择中指定选定元素

Ruby on rails 如何在分组选择中指定选定元素,ruby-on-rails,ruby,Ruby On Rails,Ruby,如果其中两个选项具有相同的id,如何指定所选选项?我有这个表格输入 并使用此方法创建选择选项 def接收器\u键和\u值 [ [“Client”,Client.all.map{| c |[c.name,c.id]}], [“Program”,Program.all.map{| p |[p.name,p.id]}] ] 结束 我的问题是,客户端ID可能与程序ID相同。因此,当两个ID相同时,所选ID始终是程序ID。 我如何指定类似的内容 selected: ["Client&quo

如果其中两个选项具有相同的id,如何指定所选选项?我有这个表格输入


并使用此方法创建选择选项

def接收器\u键和\u值
[
[“Client”,Client.all.map{| c |[c.name,c.id]}],
[“Program”,Program.all.map{| p |[p.name,p.id]}]
]
结束
我的问题是,客户端ID可能与程序ID相同。因此,当两个ID相同时,所选ID始终是程序ID。 我如何指定类似的内容

selected: ["Client"][id]
or 
selected: ["Program"][id]

这样,程序和客户端的选定元素ID将不同:

def接收器\u键和\u值
[
[“Client”,Client.all.map{c|[c.name,“Client{c.id}]}],
[“Program”,Program.all.map{p}[p.name,“Program{p.id}]}]
]
结束
您还必须更新表单处理代码,以便能够解析像“program_123”这样的输入

您还可以尝试一下对代码进行重构:

def接收器\u键和\u值
[客户端,程序].map do |类型|
type.all.map{| entity |[entity.name,dom_id(entity)}
结束
结束
但我不确定它是否更清晰(应该产生相同的结果)。由你决定