Rails 3. HABTM форма выбора выпадающего меню - PullRequest
3 голосов
/ 05 января 2012

У меня есть форма счета.Это упрощенная версия: поэтому в ней есть позиции, где вы выбираете выпадающее меню с названиями продуктов.

Это работает хорошо: поэтому отношения invoice-line_item таковы: invoice has_many line_items и line_item относится к накладной.line_item принадлежит элементу, а элемент has_many line_items.У меня правильно настроены элементы, line_items и счет-фактура.

Но теперь я хочу добавить налоги к позициям.

Поэтому я создал таблицу line_items_taxes для создания отношения HABTM между line_items и налогами,Но я не могу правильно настроить его в форме.Моя форма выглядит следующим образом ...

|name|price|tax|
|   v|     |  v|
|   v|     |  v|
|   v|     |  v|
[save invoice]

Поэтому мне нужно выпадающее меню НАЛОГИ, и при сохранении счета-фактуры сохраняется налог для каждой позиции.

Iпробовал решения, предлагаемые в http://snippets.dzone.com/posts/show/4369 и Rails HABTM Вопрос , но я получаю ошибки.

неопределенный метод объединить для: name: Symbol <%= f.collection_select "line_item", "tax_ids", @taxes, :id, :name, {:name => 'line_item[tax_ids][]'} %>

1 Ответ

7 голосов
/ 05 января 2012

Ваш вызов collection_select содержит дополнительный параметр, который отбрасывает вещи. (Поскольку я предполагаю, что вы используете * form_for *, аргумент 'line_item' автоматически включается, а ваш избыточен.)

Вместо этого он должен выглядеть примерно так:

f.collection_select 'tax_ids', @taxes, :id, :name, {:name => 'line_item[tax_ids][]'}

В любом случае, это начало в правильном направлении.

...