2013-09-23 100 views
0

我的应用程序使用来自Meetup.com的API提取组对象。这些对象不会进入我的数据库。用户然后可以将一个组添加到他们的配置文件中,然后它会进入我的数据库。如果Rails与数据库对象匹配,则不显示API对象

当用户重新登录到我的网站,我不想让他们的小组从Meetup.com对象,他们已经加入到他们的profile.The这里共享密钥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) 

但我不知道如何去做,而不用去哪里。也许是这样的观点?:

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

我没有得到任何错误,但没有用户的群体被排除在外。

回答

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) }