2016-04-08 17 views
0

私はRailsアプリケーションのデータベースとしてMongoidを使用しています。私はこのUserモデルをしばらく持っていましたが、User has_oneプリファレンスとPreferenceがユーザーに属している新しいPreferenceモデルを作成しました。データベース内の既存の各ユーザーのプリファレンスのインスタンスを作成するにはどうすればよいですか。現在データベースに登録されている各ユーザーのモデルの作成とインスタンス

SOLUTION:

私は単にRailsのコンソールに行き、以下を実行しました:

for user in User 
    unless Preference.find_by(user_id: user.id) 
     p = Preference.new(id: user.id, user_id: user_id) 
     p.save 
    end 
end 

は、それはそれはあなたのそれぞれのPreferenceのために作成されます。この簡単:)

答えて

1

可能性が想像もしませんでした作成されたユーザーとユーザーのIDは、好みと同じになります! User.rbすでに私のデータベース内のユーザーに関する

before_create :set_preference 

def set_preference 
    build_preference(id: self.id, user_id: self.id, email: self.email) 
end 
+0

しかし、どのように

?これは、将来のユーザーにのみ有効なようです。 – MPorto

関連する問題