2013-02-24 8 views
0

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

Пока у меня это так, что пользователи has_many :purchases и что покупает belongs_to :user. Проблема в том, что я не знаю, как создать пользователя с только адресом электронной почты при первой покупке, а затем выполнить все последующие покупки, используя этот адрес, назначенный этому пользователю.

ответ

1

В целом вид на базу данных, вот что вы хотите идти к:.

  • магазин сделок с атрибутом «электронной почты»
  • Если пользователь создает учетную запись, получить продажи, которые имеют их адрес электронной почты и задать параметр «пользователя» к пользователю, который только что был создан.

Таким образом, вы стабильны и не придется беспокоиться обо всем этом руки пересечения с манипулированием пользовательских объектов.

+0

Это похоже на хорошее решение, но какого пользователя я бы назначил покупки до того, как они будут заявлены? Я уверен (хотя я не уверен), что вы не можете просто оставить модели, назначенные ни к чему, если они должны принадлежать другой модели. – skimberk1

+0

Вы не будете назначать покупки пользователю, если пользователь не существует. Вот почему поле user_id останется пустым. –

+0

О, хорошо, это имеет смысл. – skimberk1

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