我有两个模型,会话和演示者,他们之间有HABTM关系。 在创建会话页面上,我想提供一个下拉框,用户可以从中选择多个演示者进行会话。 我在_form.html.erb(对于会话)中的代码是
<%= f.label:演示者%>
<%= collection_select(:session,:presenters,Presenter.all,:id,:name,{:include_blank =>''},{:multiple => true})%>
然而,在点击创建时,我在浏览器上收到以下错误消息: 主持人(#2176431740)期待,得到字符串(#2151988680)
请求日志显示“演示者”=> [“1”,“2”]
我猜测正在返回包含所选演示者的ID的字符串数组而不是presenter对象。我无法理解如何让这个工作。
(PS-我创建了presenters_sessions表并在两个模型中指定了has_and_belongs_to_many)
提前致谢。
答案 0 :(得分:3)
我没有想到这一点,如果你传入:presenter_ids作为第二个参数而不是:演示者,它将会起作用。最后,您只是将选定的id映射到模型的id集合。错误是说“您试图将字符串分配给演示者集合”。