如何在Ruby on Rails种子中关联用户外键?

时间:2019-04-07 19:12:20

标签: ruby-on-rails ruby

我是一名“婴儿编码员”,我正在创建一个新的Rails应用程序,我想添加一些种子数据。该应用程序将显示属于用户的不同发型,这意味着每种发型都需要一个user_id。在我的种子文件中,我已经创建了“用户和发型”,但是当我在控制台中运行rails:dbseed时,出现了以下错误:

"NameError: undefined local variable or method `user' for main:Object
Did you mean?  users"

当我运行rails c时,我看到创建了用户,但是没有创建用户。请有人可以帮助我并解释为什么吗?谢谢

种子文件:

Hairstyle.destroy_all

User.destroy_all

users = [
  {
    first_name: 'test',
    last_name: 'Inniss',
    email: 'angela@hair.com',
    password: '123456' 
  },   
  { 
    first_name: 'test2',
    last_name: 'Clarke',
    email: 'aaron@hair.com',
    password: '123456'
  }
]

User.create!(users)

user.save

hairstyles = [
  {
    name: 'Single Braids',
    description: 'Really easy to maintain',
    category: 'Braids',
    video_url: 'www.google.com',
    photo_url: 'https://images.unsplash.com/photo-1533233336213-b3a32825c689?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1049&q=80',
    user_id: User.first
  },
  {
    name: 'Crochets',
    description: 'Protective style',
    category: 'Braids',
    video_url: 'www.google.com',
    photo_url: 'https://images.unsplash.com/photo-1533233336213-b3a32825c689?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1049&q=80',
    user_id: User.first
  }
]

Hairstyle.create!(hairstyles)

1 个答案:

答案 0 :(得分:0)

只需删除此行

user.save

这没有意义,您不需要它。