Как создать форму, в которую вводятся несколько элементов модели?

StackOverflow https://stackoverflow.com/questions/1699506

  •  18-09-2019
  •  | 
  •  

Вопрос

У меня есть простое приложение для торговой точки, написанное на Ruby, Rails и Hobo.

Первоначально предполагалось, что одновременно будет продаваться только один продукт, теперь клиент хочет добавить в модель продаж несколько продуктов.

Кроме того, я использую бренды для категоризации продуктов, а в своей новой форме продажи я использую ajax для заполнения метода выбора продукта после выбора бренда в другом меню выбора.

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

Это было полезно?

Решение 3

мне пришлось создать модель тележки как контейнера для продуктов, затем приступить к использованию моей продажи с тележкой, а затем дальше..проверки и прочее пришлось перепрограммировать

Другие советы

Я думаю, у тебя есть has_one Связь между продажей и одним продуктом.
Идея состоит в том, чтобы изменить это отношение на has_and_belongs_to_many.
Таким образом, в вашей базе данных может быть много продуктов для одной продажи и много продаж для одного продукта.

А для реализации можно использовать вложенные атрибуты чтобы отобразить продукты для одной продажи, а также добавить или удалить некоторые из них.

Вероятно, вам нужно изменить значения, публикуемые из формы, с одного продукта на несколько.Прежде чем вы, вероятно, написали что-то вроде этого:

product_id = 123 product_qty = 1

и теперь ты хочешь опубликовать что-то вроде этого

Product_id [0] = 123 Product_Qty [0] = 1 Product_id [1] = 456 Product_QTY [1] = 7

или еще лучше

Продукт [123] .QTY = 1 продукт [456] .QTY = 7

В вашей форме вам нужно будет создать эти переменные продукта и сделать их разными.Затем отправьте их в ту же форму, которую используете, но посмотрите логи и посмотрите, как Rails сопоставляет их с объектом params.Затем в вашем контроллере мы используем это сопоставление для извлечения нескольких объектов.

Я многому научился из скриншотов Railscast.Они не занимают много времени, и наблюдать, как кто-то решает проблемы менее чем за 10 минут, ТАК весело.Попробуй это http://railscasts.com/episodes/73-complex-forms-part-1

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top