[英]rails: rake populating data
我有很多帶有標簽的用戶,以及很多帶有標簽的帖子。
我想在運行rake db:populate時自動填充數據庫。 這是我在lib / tasks下的代碼:
def make_tags
User.all.each do |user|
5.times do |n|
name = Faker::Company.bs
user.tags.create!(:name => name)
end
end
Micropost.all.each do |micropost|
3.times do |n|
name = Faker::Company.bs
micropost.tags.create!(:name => name)
end
end
但是,問題在於,用戶和帖子不會共享相同的標簽,因為每次都會創建一個新標簽。 有沒有一種方法可以通過其ID引用以前創建的標簽,這樣我就不會每次都創建新標簽?
我想我會使用類似的方法:
User.all.each do |user|
5.times do |n|
name = Faker::Company.bs
micropost = Micropost.find(:first, :offset => rand(Micropost.count))
user.tags.create!(:name => name, :micropost => micropost)
end
end
那您需要什么嗎? 是演示/測試數據,對不對?
您的微博是否與用戶相關聯? 如果是這樣,請使用該關聯為兩者設置標簽。
如果沒有,請重新組合代碼,生成標簽,然后將相同標簽與用戶和微博關聯。 或先標記您的用戶,然后遍歷用戶,然后將用戶的標簽放入微博。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.