Skip to content

Instantly share code, notes, and snippets.

@rodrigoflores
Created April 13, 2012 00:57
Show Gist options
  • Save rodrigoflores/2372462 to your computer and use it in GitHub Desktop.
Save rodrigoflores/2372462 to your computer and use it in GitHub Desktop.
Has many association
irb(main):013:0> blog = Blog.new
=> #<Blog id: nil, title: nil, created_at: nil, updated_at: nil>
irb(main):014:0> blog.save
(0.2ms) BEGIN
SQL (0.4ms) INSERT INTO `blogs` (`created_at`, `title`, `updated_at`) VALUES ('2012-04-13 00:56:01', NULL, '2012-04-13 00:56:01')
(19.5ms) COMMIT
=> true
irb(main):015:0> post = blog.posts.new
=> #<Post id: nil, blog_id: 2, created_at: nil, updated_at: nil>
irb(main):016:0> post.save
(0.1ms) BEGIN
SQL (0.3ms) INSERT INTO `posts` (`blog_id`, `created_at`, `updated_at`) VALUES (2, '2012-04-13 00:56:21', '2012-04-13 00:56:21')
(19.1ms) COMMIT
=> true
irb(main):017:0> Post.all
Post Load (0.3ms) SELECT `posts`.* FROM `posts`
=> [#<Post id: 1, blog_id: 1, created_at: "2012-04-13 00:25:19", updated_at: "2012-04-13 00:25:19">, #<Post id: 2, blog_id: 2, created_at: "2012-04-13 00:56:21", updated_at: "2012-04-13 00:56:21">]
irb(main):018:0> blog
=> #<Blog id: 2, title: nil, created_at: "2012-04-13 00:56:01", updated_at: "2012-04-13 00:56:01">
irb(main):019:0> blog.destroy
(0.2ms) BEGIN
SQL (0.4ms) DELETE FROM `blogs` WHERE `blogs`.`id` = 2
(0.6ms) COMMIT
=> #<Blog id: 2, title: nil, created_at: "2012-04-13 00:56:01", updated_at: "2012-04-13 00:56:01">
irb(main):020:0> Post.all
Post Load (0.3ms) SELECT `posts`.* FROM `posts`
=> [#<Post id: 1, blog_id: 1, created_at: "2012-04-13 00:25:19", updated_at: "2012-04-13 00:25:19">, #<Post id: 2, blog_id: 2, created_at: "2012-04-13 00:56:21", updated_at: "2012-04-13 00:56:21">]
irb(main):021:0> x = Blog.new
=> #<Blog id: nil, title: nil, created_at: nil, updated_at: nil>
irb(main):022:0> x.save
(0.2ms) BEGIN
SQL (0.3ms) INSERT INTO `blogs` (`created_at`, `title`, `updated_at`) VALUES ('2012-04-13 00:58:30', NULL, '2012-04-13 00:58:30')
(2.8ms) COMMIT
=> true
irb(main):023:0> x
=> #<Blog id: 3, title: nil, created_at: "2012-04-13 00:58:30", updated_at: "2012-04-13 00:58:30">
irb(main):024:0> y = x.posts.new
=> #<Post id: nil, blog_id: 3, created_at: nil, updated_at: nil>
irb(main):025:0> y.save
(0.2ms) BEGIN
SQL (0.3ms) INSERT INTO `posts` (`blog_id`, `created_at`, `updated_at`) VALUES (3, '2012-04-13 00:58:49', '2012-04-13 00:58:49')
(0.6ms) COMMIT
=> true
irb(main):026:0> x.delete
SQL (0.7ms) DELETE FROM `blogs` WHERE `blogs`.`id` = 3
=> #<Blog id: 3, title: nil, created_at: "2012-04-13 00:58:30", updated_at: "2012-04-13 00:58:30">
irb(main):027:0> y
=> #<Post id: 3, blog_id: 3, created_at: "2012-04-13 00:58:49", updated_at: "2012-04-13 00:58:49">
irb(main):028:0> Post.all
Post Load (0.4ms) SELECT `posts`.* FROM `posts`
=> [#<Post id: 1, blog_id: 1, created_at: "2012-04-13 00:25:19", updated_at: "2012-04-13 00:25:19">, #<Post id: 2, blog_id: 2, created_at: "2012-04-13 00:56:21", updated_at: "2012-04-13 00:56:21">, #<Post id: 3, blog_id: 3, created_at: "2012-04-13 00:58:49", updated_at: "2012-04-13 00:58:49">]
irb(main):029:0> Post.find(3)
Post Load (0.5ms) SELECT `posts`.* FROM `posts` WHERE `posts`.`id` = 3 LIMIT 1
=> #<Post id: 3, blog_id: 3, created_at: "2012-04-13 00:58:49", updated_at: "2012-04-13 00:58:49">
irb(main):030:0>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment