Ruby on rails 使用集合_selectwith multiple=>;获取不允许的参数;符合事实的

Ruby on rails 使用集合_selectwith multiple=>;获取不允许的参数;符合事实的,ruby-on-rails,collection-select,Ruby On Rails,Collection Select,我有两个模型,它们之间没有关联。我正在获取名称列表,作为选择主模型的选项。集合_选择不带多个=>true按预期工作。但是当我添加multiple时,我会得到unpermitted参数错误。因为:conf_string是一个数组,所以需要允许它作为数组 在基本表控制器中: def base_table_params params.require(:base_table).permit(:name, conf_string: []) end 不要忘记将:conF_string更新为:conF_


我有两个模型,它们之间没有关联。我正在获取名称列表,作为选择主模型的选项。集合_选择不带多个=>true按预期工作。但是当我添加multiple时,我会得到unpermitted参数错误。

因为
:conf_string
是一个数组,所以需要允许它作为数组

基本表控制器中

def base_table_params
  params.require(:base_table).permit(:name, conf_string: [])
end

不要忘记将
:conF_string
更新为
:conF_string
。我想你打错了

你能试着把
f.collection\u select(:conf,Container.all,…)
替换成
f.collection\u select(:conf[],Container.all,…)
?这有用吗?@Aakanksha,我得到了错误的属性数。非常感谢,它现在起作用了。但我有一个疑问,我能让多重选择在选择时返回二进制值吗。例如,所选选项返回1,其他选项返回0。因此,插入到数据库中的值将采用“101101”字符串格式。使用
unpack(B*)
,即:
'1'。unpack('B*)#=>[“00110001”]