2017-02-16 6 views
-1

У меня есть PurchaseOrder Модель, которая has_manyItem s. Форма для PurchaseOrder нуждается в переменном поле ввода, которое также сохранит Items, где нажатие кнопки Add увеличит поля на странице.Как создать рельсы simple_form с переменными полями ввода

Вот что она будет выглядеть следующим образом:

enter image description here

Для достижения этого:

Как создать simple_form, который будет размещать результат этих нескольких полей в виде массива мой существующий контроллер PurchaseOrder, где я могу обрабатывать и добавлять эти записи?

Бонус: как бы я справился с этим через огурцы?

Редактировать: Зачем вам решать вопрос самостоятельно? Leave comments to explain when you downvote, пожалуйста.

+0

@ Fallenhero ничего, честно говоря, документация на simple_from не содержит этого пользователя. Я рассматриваю возможность сбрасывания в обычные помощники формы и прикрепление их как дополнительных полей и их обработку самостоятельно. Но я до сих пор не знаю, как подойти к этому с огурцом. – amingilani

+0

Вы пытаетесь добавить несколько элементов в один заказ на покупку или добавить дополнительные поля, такие как цвет и производитель, в элементы в заказе на поставку? – user3402754

+0

@ user3402754 добавление нескольких позиций в заказ на поставку. – amingilani

ответ

1

Вам необходимо использовать simple_fields_for от simple_form gem. Это позволяет работать с атрибутами связанных моделей.

Если вы хотите добавить новые ассоциированные модели с помощью кнопки Add new, вам необходимо создать новую строку. Нет кода в чистом simple_form, который поможет вам в этом. Я нашел gem cocoon. Похоже, это то, что вы ищете. Вы можете взглянуть на то, как оно реализовано там, и сделать свое собственное легкое решение.

3

Использовать Cocoon как ваши вложенные формы для создания нескольких полей.

Смежные вопросы