Checking to see if a listing exists


#1

Hi,

I’m writing a web app where people can add each other as friends, and
I’m having trouble with the add/remove friend link. I can’t figure out
the SQL query that asks the database if there’s a listing in the
friends_users table that matches the friend_id and user_id. Here’s what
I have now:

Controller:
friend_query = “select u.*
from users u, friends_users f
where u.id = f.friend_id and f.user_id = ? and f.friend_id = ?”

@a_friend = User.find_by_sql([friend_query, current_user.id,

params[:id]])

@a_friend.each do |result|
  @friendship = result.id
end

View:

<% if @friendship != nil %>
…remove this friend…
<% else %>
…add this friend…
<% end %>

This SQL query doesn’t do exactly want I want (I’m not even sure exactly
what it returns). Is there a way to simply find out if a record in a
database exists based on two parameters (the friend_id and the user_id)?


#2

Try posting your question on refwell.com

Alex


#3

On Feb 1, 1:47 pm, “Dave A.” removed_email_address@domain.invalid wrote:

  from users u, friends_users f


Posted viahttp://www.ruby-forum.com/.

find_or_create_by is your friend (Dynamic attribute-based finders at
http://api.rubyonrails.org/classes/ActiveRecord/Base.html#M000989)