Ruby on rails Rails-通过关联将数据播种到多个?

Ruby on rails Rails-通过关联将数据播种到多个?,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.1,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.1,我有一个种子文件,其中包含以下代码: 300.times do # create the customer customer = Customer.create([ {customer_type_id: '1'} ]) # create an address for the customer address = Address.create([ {city: Faker::Address.city, country: 'UK'} ]) postcod

我有一个种子文件,其中包含以下代码:

300.times do
  # create the customer
  customer = Customer.create([
    {customer_type_id: '1'}
  ])

  # create an address for the customer
  address = Address.create([
    {city: Faker::Address.city, country: 'UK'}
  ])
  postcode = Postcode.create([
    {value: Faker::Address.uk_postcode}
  ])
  name_number = NameNumber.create([
    {value: Random.rand(495)}
  ])
  street = Street.create([
    {value: Faker::Address.street_name + " " + Faker::Address.street_suffix}
  ])
  state = State.create([
    {value: Faker::Address.uk_county}
  ])
这个很好用。然而,我曾希望能够做到以下几点:

address = Address.create([
  {city: Faker::Address.city, country: 'UK'}
])
address.postcode = Postcode.create([
  {value: Faker::Address.uk_postcode}
])
我在第一行创建了地址,在第二行创建了地址的邮政编码。但是,这会产生一个错误

有人能建议我怎么做吗

谢谢

编辑:根据请求,生成的错误为:

rake db:seed
rake aborted!
undefined method `postcode=' for #<Array:0x007f9df1f26818>

Tasks: TOP => db:seed
(See full trace by running task with --trace)
rake db:seed 雷克流产了! 未定义的方法“postcode=”用于# 任务:TOP=>db:seed (通过使用--trace运行任务查看完整跟踪)
您正在将一个数组传递给
create
,该数组为数组中的每个属性哈希创建一个对象,并返回生成的对象数组。由于一次只创建一个对象,只需删除属性散列周围的方括号(如果需要,甚至可以删除大括号),它就可以正常工作:

address = Address.create(city: Faker::Address.city, country: 'UK')

你能指定它产生了什么错误吗?我已经编辑添加了错误。这两行完全按照所写的顺序互相跟随-也许我认为“address=address.create”行将地址变量设置为新创建的对象是错误的?我需要在以后单独设置吗?