Mega Code Archive

 
Categories / Ruby / Active Record
 

Set up one to many map with has many

=begin drop database Contact; create database Contact; use Contact; CREATE TABLE Employee (    id  int unsigned not null auto_increment primary key,    Name VARCHAR(50),    Phone VARCHAR(15),    departmentId int ); CREATE TABLE Department(    id    int unsigned not null auto_increment primary key,    Name VARCHAR(50),    Phone VARCHAR(15)     ); =end require "rubygems" require "activerecord" ActiveRecord::Base.establish_connection(   :adapter => "mysql",   :host => "localhost",   :username => "root",   :database => "Contact") class Employee < ActiveRecord::Base    set_table_name "employee"    belongs_to :department end class Department < ActiveRecord::Base    set_table_name "department"    has_many :children, :class_name => "Employee", :foreign_key => :departmentId end account = Employee.new account.Name = "AAA" account.save department = Department.find_or_create_by_Name("B") department.children << account department.save