views:

27

answers:

1

I have 2 models, Users & Accounts. They are in one-to-many relationship, i.e. each accounts have many users.

Accounts

company_id    company_name    company_website

Users

user_id       user_name     password     company_id    email

How can I add these entries to database using ActiveRecord? Supposed I don't is the company existed in the database when I add a new entry.

Name            Email               Password            Company
-----------------------------------------------------------------------------
Albert          [email protected]      123456              ABC Company
Betty           [email protected]       234567              ABC Company
Carmen          [email protected]      765432              XXX Company
David           [email protected]       654321              ABC Company
+1  A: 

Add this to your db/seed.rb file:

Account.transaction do 
  [
    ["Albert", "[email protected]", "123456", "ABC Company"],
    ["Betty",  "[email protected]", "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

Run the following rake task:

rake db:seed
KandadaBoggu
I will have a try. Thanks :)
siulamvictor