Как добавить запись в таблицы с отношениями? - PullRequest
0 голосов
/ 07 мая 2010

У меня 2 модели, пользователи и аккаунты. Они находятся в отношениях один-ко-многим, то есть в каждой учетной записи много пользователей.

Счета

company_id    company_name    company_website

Пользователи

user_id       user_name     password     company_id    email

Как я могу добавить эти записи в базу данных, используя ActiveRecord? Предположим, что я не являюсь компанией, существующей в базе данных, когда я добавляю новую запись.

Name            Email               Password            Company
-----------------------------------------------------------------------------
Albert          albert@abc.com      123456              ABC Company
Betty           betty@abc.com       234567              ABC Company
Carmen          carmen@example.com      765432              XXX Company
David           david@abc.com       654321              ABC Company

1 Ответ

1 голос
/ 07 мая 2010

Добавьте это в ваш файл db / seed.rb:

Account.transaction do 
  [
    ["Albert", "albert@abc.com", "123456", "ABC Company"],
    ["Betty",  "betty@abc.com", "234567", "ABC Company"]
  ].each do |record|
    company = find_or_create_by_company_name(record[3])
    company.users.create(:user_name => record[0].downcase, 
                         :email     => record[1], 
                         :password  => record[2])
  end
end

Запустите следующую задачу граблей:

rake db:seed
...