Правильный способ сохранить элемент has_many перед сохранением на Rails

0

Я разрабатываю приложение Rails. Мое приложение похоже на систему определения местоположения equipaces, поэтому у меня есть элементы с именем, ценой, идентификатором и т.д. Этими элементами является модель Equipament, которая относится к модели под названием Event, которая имеет дату атрибута, общую цену и т.д.

Чтобы использовать модель equipament более одного раза, я создал модель отношений, называемую equipament_event, чтобы сочетать многие и многие отношения, подобно корзине покупок, где я могу добавлять предметы в свою корзину, и когда я подтверждаю, сохраняйте заказ с помощью элементов через вторичная таблица, у которой есть идентификатор заказа и продукта.

Я думал, что использовать в форме событие сочетание jquery и ajax для выполнения добавить и удалить equipament_item, где я могу добавить или удалить equipament из события. Но для создания equipament_event, во-первых, мне нужен идентификатор события, который должен быть создан, но как я могу получить id для добавления equipament_event, если событие все еще не сохраняется в базе данных? Мне нужно использовать jquery и ajax для динамического вычисления цены.

Теги:
many-to-many

1 ответ

1

В этой ситуации я бы сохранил эту информацию в базе данных, но использовал другой механизм (например, поле состояния), чтобы указать, что событие еще не завершено. Это позволяет использовать все вещи, которые Rails делает хорошо, вместо того, чтобы понять, как замять все это в файл cookie или любой источник данных, который не сохраняется.

Это не единственный подход, но я бы это сделал.

  • 0
    Спасибо за ответ, Джим :) Я понимаю, что вы объясняете, но я пытаюсь использовать решение для создания элементов с идентификатором оборудования, выбранным в списке добавления Jquery, и событием, которое будет создано после кнопки подтверждения. Я думаю, что для создания элементов сохраняется только модель события, но мне нужно передать элементы JQuery в контроллер, но я знаю, что это невозможно: /

Ещё вопросы

Сообщество Overcoder
Наверх
Меню