使用include检查数组内容是否为对象

时间:2013-01-05 19:13:27

标签: ruby-on-rails-3 ruby-on-rails-3.2

我的rails控制台上有以下数组:

u.favorites

[#<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, ...">]

如你所见,我有candidate_id:6,candidate_id:7,candidate_id:8,candidate_id:9,candidate_id:10。但如果我试试这个:

u.favorites.include?(:candidate_id =&gt; 5)o canidate 6,7,8,9或10我得到假。

我做错了什么?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

尝试

u.favorites.select{|f| f.candidate_id==5}.any?

u.favorites.collect(&:candidate_id).include?(5)
相关问题