Pass the models, not the ids, when dealing with friendships

This commit is contained in:
Andy Allan 2019-06-19 16:56:31 +02:00
parent 2169c503ef
commit d33b1f6b29
3 changed files with 3 additions and 3 deletions

View file

@ -417,7 +417,7 @@ class UsersController < ApplicationController
if @friend
if request.post?
if current_user.is_friends_with?(@friend)
Friendship.where(:user_id => current_user.id, :friend_user_id => @friend.id).delete_all
Friendship.where(:befriender => current_user, :befriendee => @friend).delete_all
flash[:notice] = t "users.remove_friend.success", :name => @friend.display_name
else
flash[:error] = t "users.remove_friend.not_a_friend", :name => @friend.display_name

View file

@ -224,7 +224,7 @@ class User < ActiveRecord::Base
end
def is_friends_with?(new_friend)
friendships.where(:friend_user_id => new_friend.id).exists?
friendships.where(:befriendee => new_friend).exists?
end
##

View file

@ -1244,7 +1244,7 @@ class UsersControllerTest < ActionController::TestCase
# Get users to work with
user = create(:user)
friend = create(:user)
create(:friendship, :user_id => user.id, :friend_user_id => friend.id)
create(:friendship, :befriender => user, :befriendee => friend)
# Check that the users are friends
assert Friendship.where(:user_id => user.id, :friend_user_id => friend.id).first