2010-12-01 85 views
2

我有2个模型,会话和演示者,它们之间有HABTM关系。 在创建会话页面上,我想提供一个下拉框,用户可以从中选择多个会话的演示者。 我在_form.html.erb(用于会话)代码是Rails 3 collection_select HABTM关系的帮助器方法

<%= f.label:主持人%>
<%= collection_select(:会议:主持人,Presenter.all,:ID ,:姓名,{:include_blank => ''},{:多=>真})%>

但是在击中创建我收到以下错误消息,在我的浏览器: 演示(#2176431740)预计,得到字符串(#2151988680)

请求日志显示“演示者“=”[“1”,“2”]

我猜测包含所选演示者的ID的字符串数组正在返回而不是演示者对象。我无法理解如何让这个工作。

(PS-我创建了presenters_sessions表,并在这两种模式中指定has_and_belongs_to_many)提前

感谢。

回答

3

我还没有想出来,如果你传入:presenter_ids作为第二个参数,而不是:演示者,它将工作。最后,您只需将选定的id映射到模型的id集合。错误是说“你试图给一个Presenters集合分配一个字符串”。

+0

好的谢谢。我为此做了一些其他解决方法。我们最后更改了UI显示 – 2011-03-28 07:08:26