簡體   English   中英

rails:填充數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM