Ruby on rails 如何在分组选择中指定选定元素
如果其中两个选项具有相同的id,如何指定所选选项?我有这个表格输入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
并使用此方法创建选择选项
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)}
结束
结束
但我不确定它是否更清晰(应该产生相同的结果)。由你决定