Задать вопрос
@eldar_web

Как в Ruby on Rails правильно использовать model.build_model (откаты)?

Допустим, есть модели:
Subscriber
Address
Number
Такая связь у них :
Subscriber->Address->Phone
Subscriber->Number

Это значит, что Address содержит subsriber_id
А Number address_id, и subscriber_id.

Хочу при добавлении записей использовать .buld_association чтобы при неудачной ситуации произошел откат.
Так вот:
subs = Subscriber.create
subs.build_address

И при subs.save как я понимаю в address.subscriber_id автоматически присвоится id subscriber-a.
А вот и главный вопрос: а как быть если нужно, чтобы numbers сохранял и address_id и subsriber_id?
  • Вопрос задан
  • 181 просмотр
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
Dem1
@Dem1 Куратор тега Ruby on Rails
Ruby on Rails developer
Откаты = Транзакции.
Но зачем, вам дополнительно хранить subscriber_id у Number, если можно получить subscriber через address мне не понятно)
ActiveRecord::Base.transaction do
  subscriber = Subscriber.create
  address = Address.create(subscriber: subscriber)
  Number.create(subscriber: subscriber, address: address)
end
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы