2016-07-27 3 views
0

Я создаю модель пользователя, которая связана с моделью Cart. В момент создания Пользователя автоматически создается Корзина.Приложить экземпляр модели в рамках миграции

В приложении я добавил вызов Cart.create в метод create моего UserController.

При попытке засеять данные, однако, мне нужно иметь две строки: User.create и Cart.create и попытаться сделать эту работу только для одной строки User.create.

Можно ли переместить код создания корзины в изменение метода (CreateUsers, Migration)?

+0

Прочитайте обратные вызовы и вместо этого используйте обратный вызов 'after_create'. http://guides.rubyonrails.org/active_record_callbacks.html – Deep

+0

Спасибо, это работает. – Harry

ответ

0

Как вам нужно создать cart, как только будет создан user, поэтому вам необходимо использовать обратные вызовы вместо записи на контроллере.

Обратные вызовы - это методы, вызываемые в определенные моменты жизненного цикла объекта.

So after_create callback поможет вам сделать то, что вам нужно. Для получения дополнительной информации и всех обратных вызовов вы можете прочитать в RailsGuides.

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