我有bands
,genres
和bands_genres
数据库表与HABTM关系
我有一个用于创建新乐队的表单,我希望用户能够从3个不同的下拉选择菜单中选择3种类型。
如何设置我的表单(以及我的create
方法),以便当用户选择这3种类型时,它会正确地将关系添加到我的bands_genres
表中?
我正在运行Rails 3.0.3。
答案 0 :(得分:8)
您可以通过1选择来简化您的代码,这可以让您选择多个选项,
<%= collection_select(:band, :genre_ids, Genre.all, :id, :name,{:include_blank => 'None'},
{:multiple => true, :name=>'band[genre_ids][]',:selected => 0}) %>
:selected =&gt; 0,将默认选择设置为无
GL
答案 1 :(得分:2)
你好,表格必须类似于HABTM通过复选框
<%form_for @band do |f|%>
...
<%= select_tag "band[genree_ids][]", options_from_collection_for_select(@first_genrees, "name", "id")%>
<%= select_tag "band[genree_ids][]", options_from_collection_for_select(@second_genrees, "name", "id")%>
<%= select_tag "band[genree_ids][]", options_from_collection_for_select(@third_genrees, "name", "id")%>
<%end%>
表单提交关系应该改变