0

我的应用使用来自 Meetup.com 的 API 拉入组对象。这些对象不会进入我的数据库。然后,用户可以将一个组添加到他们的个人资料中,此时它确实进入了我的数据库。

当用户重新登录到我的网站时,我不想向他们展示他们已经添加到他们的个人资料中的来自 Meetup.com 的组对象。这里的共享密钥是 meetup.com 对象有一个“group.id”与我的数据库“组”模型的“group_id”匹配

如果 API 中的组是数据库对象,我想我可以这样做:

@groups = RMeetup::Client.fetch(:groups, :lat => @user.latitude, :lon => @user.longitude)
@justnewgroups = @groups.where("id NOT IN (?)", current_user.groups.pluck(:group_id)

但是如果不使用 where 我不知道该怎么做。也许在视图中是这样的?:

<% @groups.each do |group| %>
   <% unless group.id == current_user.groups.pluck(:group_id) %>
     <%= render :partial => 'groups/group', :locals => { :group => group } %>
   <% end %>
<% end %>

我没有收到任何错误,但没有排除任何用户组。

4

1 回答 1

1
new_groups = RMeetup::Client.fetch(:groups, :lat => @user.latitude, :lon => @user.longitude)
current_group_ids = current_user.groups.pluck(:group_id)
@groups = new_groups.reject { |group| current_group_ids.include?(group.id) }
于 2013-09-23T21:27:05.723 回答