Check if array content an object using include

I have the following array on my rails console:

[#<Favorite id: 20, candidate_id: 6, ...>, #<Favorite id: 21, candidate_id: 7,..">, #<Favorite id: 22, candidate_id: 8, ...">, #<Favorite id: 23, candidate_id: 9, ...">, #<Favorite id: 24, candidate_id: 10, ...">]

As you can see, I have candidate_id:6, candidate_id:7, candidate_id:8, candidate_id:9, candidate_id:10. But if I try this:

u.favorites.include?(:candidate_id => 5) o canidate 6, 7, 8, 9 or 10 I get false.

What I’m doing wrong?

Thanks in advance for your help.

You're trying to compare a Favorite object to a symbol.

So either pass a Favorite object as an argument to `include?` for comparison or use something like `Enumerable#find` to select on your desired attribute (e.g. candidate_id).

You might want to spend some time here: Index of Files, Classes & Methods in Ruby 1.9.3 (Ruby 1.9.3)

u.favorites.keep_if { |f| f.canidate_id == 5 }