Ruby on rails 一个是定义的,另一个来自Rails中选择框的映射对象选项

Ruby on rails 一个是定义的,另一个来自Rails中选择框的映射对象选项,ruby-on-rails,Ruby On Rails,这里有一个select字段,其中有一个已定义的字符串作为选项,另一个是从@reps对象映射而来的 它不断地说为nil类定义了未定义的方法“map” 片段: = f.select :representative, [@reps.map{|me| [me.select_name, me.id]},["Other"]], :autofocus => true 任何变通方法都将受到欢迎。首先,您需要确保@reps不是零。您可以签入控制器,将其设置为空数组[],以防在渲染之前它为零 其次,您需要正

这里有一个
select
字段,其中有一个已定义的字符串作为选项,另一个是从
@reps
对象映射而来的

它不断地说
为nil类定义了未定义的方法“map”

片段:

= f.select :representative, [@reps.map{|me| [me.select_name, me.id]},["Other"]], :autofocus => true

任何变通方法都将受到欢迎。首先,您需要确保@reps不是零。您可以签入控制器,将其设置为空数组
[]
,以防在渲染之前它为零

其次,您需要正确合并数组并保持结构完整。附加选项还需要一个(空)id

试用

= f.select :representative, [@reps.map{|me| [me.select_name, me.id]},["Other", '']], :autofocus => true

但是错误是[[“1251241 Lesch”,4]]的未定义方法“merge”:数组它是什么意思?哎呀,毕竟是个错误。修正了合并。
非常感谢。你太棒了。节省了大量的研究时间对你来说,你仍然需要将阵列展平,不是吗?
[ [['repsname1', 1], ['repsname2', 2]], ['Other'] ]
= f.select :representative, [@reps.map{|me| [me.select_name, me.id]},["Other", '']], :autofocus => true