我的应用程序使用Meetup.com中的API提取组对象。这些对象不会进入我的数据库。然后,用户可以将一个组添加到他们的配置文件中,此时它会进入我的数据库。
当用户登录我的网站时,我不想向他们展示他们已经添加到他们的个人资料中的来自Meetup.com的群组对象。这里的共享密钥是meetup.com对象有一个“群组.id“匹配我的数据库”group“model的”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)
但我不知道怎么做而不用在哪里。也许在视图中这样的东西?:
<% @groups.each do |group| %>
<% unless group.id == current_user.groups.pluck(:group_id) %>
<%= render :partial => 'groups/group', :locals => { :group => group } %>
<% end %>
<% end %>
我没有收到任何错误,但没有排除任何用户组。
答案 0 :(得分: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) }