0

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

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

如果 user_in_search_results_id = id 在数组中,取消好友,否则添加为好友。

'如果 user_in_search_results_id = id 在数组中的任何位置'是我卡住的地方。

我试过 .where(user_in_search_results_id == @friends) 但没有用。@friends 是朋友数组。我也尝试过没有运气的 .select 方法。

谢谢

4

3 回答 3

2

我想你正在寻找包含?方法

user_in_search_results_id.each {|id| @friends.include?(id) ? unfriend(id) : add_as_friend(id)}
于 2013-08-16T20:15:23.847 回答
0

我会用Enumerable#detect.

@friends.detect { |id| user_in_search_results_id == id } 
于 2013-08-16T20:16:09.773 回答
0

为此,我需要回答的基本问题是如何判断用户 ID 是否存在于数组中。

你可以做

friends_array.member?(user_id) ? "unfriend" : "add friend"
于 2013-08-16T20:09:22.680 回答