Skip to content

Instantly share code, notes, and snippets.

@sgrif
Created June 16, 2014 00:31
Show Gist options
  • Save sgrif/6773ed3bbe9e9792157c to your computer and use it in GitHub Desktop.
Save sgrif/6773ed3bbe9e9792157c to your computer and use it in GitHub Desktop.
class User < ActiveRecord::Base
has_many :posts
end
class Post < ActiveRecord::Base
belongs_to :user, counter_cache: true
end
user = User.create
user.posts_count # => 0
user.posts << Post.new # executes `UPDATE users SET posts_count = COALESCE(posts_count, 0) + 1 WHERE id = ?`
user.posts_count # => 0
user.reload.posts_count # => 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment