如果object包含在数组逻辑中 - Ruby

时间:2013-08-16 20:07:33

标签: ruby

从概念上讲,我试图在搜索结果列表中显示用户列表,并且如果用户不是朋友则将其添加为“添加为朋友”,如果他们是朋友,则将其称为“取消朋友”。

我需要回答的基本问题是如何说明数组中是否存在用户ID。我创建了一个朋友数组,其中包含了我朋友的所有id号,并且需要基本上写;

如果数组中的user_in_search_results_id = id,则取消联系,否则添加为朋友。

'if user_in_search_results_id = id在数组中的任何位置'是我被困的地方。

我试过.where(user_in_search_results_id == @friends)并且没有用。 @friends是朋友阵。我也没试过.select方法。

由于

3 个答案:

答案 0 :(得分:2)

我认为你在寻找包括?方法

user_in_search_results_id.each {|id| @friends.include?(id) ? unfriend(id) : add_as_friend(id)}

答案 1 :(得分:0)

  

我需要回答的基本问题是如何说明数组中是否存在用户ID。

你可以做到

friends_array.member?(user_id) ? "unfriend" : "add friend"

答案 2 :(得分:0)

我会使用Enumerable#detect

@friends.detect { |id| user_in_search_results_id == id }