2010-12-01 88 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