diff --git a/app/models/favorite.rb b/app/models/favorite.rb index f4c6b6b5e..bfa6ae6df 100644 --- a/app/models/favorite.rb +++ b/app/models/favorite.rb @@ -1,5 +1,6 @@ class Favorite < ActiveRecord::Base belongs_to :post + belongs_to :user scope :for_user, lambda {|user_id| where("user_id % 100 = #{user_id.to_i % 100} and user_id = #{user_id.to_i}")} attr_accessible :user_id, :post_id diff --git a/app/models/post.rb b/app/models/post.rb index 4ef05b151..06d4cdbde 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -1282,9 +1282,11 @@ class Post < ActiveRecord::Base def give_favorites_to_parent return if parent.nil? - favorites.each do |fav| - remove_favorite!(fav.user) - parent.add_favorite!(fav.user) + transaction do + favorites.each do |fav| + remove_favorite!(fav.user) + parent.add_favorite!(fav.user) + end end end