我需要帮助在我的数据库表中填充一些随机数据。我的系统中有一个包含 10 个用户的列表。我的过敏表有以下字段:
id user_id name 反应状态
我在一个名为 allergy_hash 的变量中有以下过敏散列。
{:reaction_name=>"Bleeding", :status=>"Death", :name=>"A"} {:reaction_name=>"Nausea", :status=>"Serious", :name=>"B"} {:reaction_name=>"Fever", :status=>"Death", :name=>"C"} {:reaction_name=>"Blistering", :status=>"Serious", :name=>"D"}
这是我到目前为止所做的:
def create_random_data
users.each do |user|
allergies.each do |allergies_hash|
Allergy.where(user_id: user.id).first_or_create(
allergies_hash )
end
end
end
上面所做的只是将 Bleeding、Death 和 A 插入到所有用户 1 到 10 的表中。但我需要插入这样不同的用户可以有不同的值。此外,一些用户可能有不止一种过敏和相关反应。
注意:我并不是说完全随机。例如名称“A”仍应具有关联状态“死亡”和反应名称“出血”。名称“B”应在过敏表中具有相关状态“严重”和反应“恶心”。