0

ユーザーとアカウントの 2 つのモデルがあります。それらは 1 対多の関係にあります。つまり、各アカウントには多くのユーザーがいます。

アカウント

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
4

1 に答える 1

1

これを 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 タスクを実行します。

rake db:seed
于 2010-05-07T03:07:50.890 に答える