2016-07-27 4 views
0

私はカートモデルに関連付けられたユーザーモデルを作成しています。ユーザーが作成されると、カートが自動的に作成されます。アプリでマイグレーション内にモデルのインスタンスを添付する

、私は私のUserControllercreateメソッドに呼び出しCart.createを追加しました。

しかし、データをシードしようとすると、User.createCart.createという2つの行があり、User.createの1行だけこの作業を行うようにしてください。

カート作成コードをメソッド変更(CreateUsers、Migration)に移動することはできますか?

+0

コールバックについて読んで、代わりに 'after_create'コールバックを使用してください。 http://guides.rubyonrails.org/active_record_callbacks.html – Deep

+0

ありがとうございます、それは動作します。 – Harry

答えて

0

userが作成されるとすぐにcartを作成する必要があるため、コントローラに書き込む代わりにコールバックを使用する必要があります。

コールバックは、オブジェクトのライフサイクルの特定の瞬間に呼び出されるメソッドです。

したがってafter_createコールバックは、必要な操作を行うのに役立ちます。詳細およびすべてのコールバックについては、RailsGuidesでお読みください。

関連する問題