Rails: как настроить форму с несколькими тегами выбора с отношением HABTM - PullRequest
4 голосов
/ 10 декабря 2010

У меня есть bands, genres и bands_genres таблицы базы данных с отношением HABTM

У меня есть форма для создания новых групп, и я хочу, чтобы пользователи могли выбирать 3 жанра из 3 различныхвыпадающие меню выбора.

Как настроить форму (и мой метод create), чтобы при выборе этих трех жанров пользователь правильно добавил отношение к моей таблице bands_genres?

Я использую Rails 3.0.3.

Ответы [ 2 ]

8 голосов
/ 07 февраля 2011

Вы можете упростить свой код, выполнив 1 выбор, который позволяет выбрать несколько вариантов,

<%= collection_select(:band, :genre_ids, Genre.all, :id, :name,{:include_blank => 'None'},
{:multiple => true, :name=>'band[genre_ids][]',:selected => 0}) %>

Параметр: selected => 0 устанавливает выбор по умолчанию None

Г.Л.

2 голосов
/ 10 декабря 2010

Привет форма должна быть похожа на 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%>

после того, как отношения отправки формы должны быть изменены

...