2016-12-11 8 views
0

私は自分のユーザーデータベースに格納されているイベント名を持っています。ユーザーからそのイベント名を取得し、それをUserEventデータベースのUserEventの名前列に格納する方法について説明します。たとえば、ユーザーがNewEventというイベントを作成した場合、そのUserEventデータベース内のUserEventの名前としてNewEventを設定するにはどうすればよいですか?データベースから値を取り出して別のデータベースに保存する

+0

なぜあなたは2つの異なる場所に同じものを保管しますか? –

答えて

1

私は2つの異なる場所で同じものを保存していないだろう、それはあなたのデータベースの要件の場合は、delegateこの事は、次のことができますよう:

私は強く UserEventは何とか持っていることを願っています
class UserEvent < ActiveRecord::Base 
    delegate :name, to: :new_event 
end 

イベントとの関係。

あなたが実際には2つの異なる場所で同じものを保存したい場合は、私は戻ってafter_createまたはafter_saveのような呼び出しを使用することをお勧めし、NewEventオブジェクトが作成、または変更されたので、それぞれ、その名を取り、別のモデルで店舗。

+0

したがって、イベントを作成したユーザーは、そのイベントがUserEventモデルのデータベースにデリゲートコマンドを使って正しく格納されますか? – Aaron

+0

いいえ、デリゲートはこのようには動作しません。 Delegateは 'UserEvent'モデルで' name'を呼び出そうとすると、関連する 'NewEvent'モデルから名前を取得します。 –

関連する問題