2016-06-29 9 views
1

各ユーザーのデータベースに最も適した方法を見つけようとしています。私の最終的な目標は、ユーザが作成されるときに、それぞれuser who has_manygoalsにあらかじめ登録されたリストgoalsを持たせることです。私が見た問題は、これにより、すべてのユーザーが同じ初期データを持つ各ユーザーの目標を個別に共有するのではなく、1つの目標を作成するということです。各ユーザーのデータを含むシードデータベース

これは私の現在のレイアウトです:

weekly_goalsテーブル

user_id 
title 
status 

User.rb

has_many :weekly_goals 

WeeklyGoal.rb

belongs_to :user 

#List of all goals hardcoded in 

私は間違った思考プロセスでこれについて説明しますか?私が求めていることをする良い方法はありますか?ありがとう!ここで

答えて

1
goals = ['goal1', 'goal2', 'goal3', 'gaol4', 'goal5', 'goal6', 'goal7' ] 

['user1', 'user2', 'user3'].each do |usr| 
    user = User.create(name: usr) 
    7.times do 
    user.weekly_goals.create(name: goals.sample) 
    end 
end 

私は3人のユーザーを取り、私は、ユーザーごとに7つのゴールを作成し、私はすべてのユーザーが、目標の異なるセットを持っているので、ランダムな目標を取っ毎週の目標を作成中。

別の解決策は、ユーザーfaker gemこれは私が取るつもりだった正確なプロセスであるdummに

+0

を移入することができますが、どこからやるので、一種のずさん各1000人の+のユーザー –

+0

のためにそれを行うことだったように思えますあなたはユーザーと目標をインポートしたいと思います。 csvまたはデータベースから? –

+0

csvデータベースにテンプレートテーブルを作成し、それを各ユーザーにコピーする方法がない場合を除きます。 –

関連する問題