Получение информации об адресе в процессе заказа в рельсах - PullRequest
0 голосов
/ 30 января 2012

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

У меня есть модель пользователя, модель заказа и модель адреса. Я хочу захватить адрес в форме во время процесса заказа. В моей модели заказа у меня есть user_id, pay_type, email, address_id и name. В моем адресе у меня есть user_id, (затем некоторые поля адреса).

отношения

order belongs_to a user

address belongs_to a user

address belongs_to an order

order has_one address

user has_many orders

user has_one address

Поэтому, когда покупатель нажимает кнопку «Оформить заказ», я хочу, чтобы он ввел имя, указанное в Заказе, адрес электронной почты, адрес и тип оплаты. Идентификатор user_id будет записан с использованием текущего зарегистрированного метода пользователя через скрытое поле. (Если есть лучший способ, дайте мне знать). извините, если это не очень хорошо объяснено

1 Ответ

0 голосов
/ 08 февраля 2012

Вам нужно будет ознакомиться с accepts_nested_attributes и вложенными формами.

Или просто просмотрите какой-нибудь код здесь , например,

Здесь необходимо отметить следующие основные моменты:

  • acceptpts_nested_attributes_for
  • f.fields_for: address do | address |потребуется для рендеринга вложенной формы
  • @order.save в контроллере сохранит все вложенные данные
...