如何列出除已经完成的徽章之外的所有徽章

时间:2017-07-06 05:40:45

标签: ruby-on-rails ruby controller iteration badge

@badges_available如何列出来自User.first(管理员用户)的所有徽章,除了那些已经由current_user完成的徽章?像.where(title != @badges_available.title)

这样的东西
@badges_available = User.first.badges.where.not(title: current_user.badges.title) # undefined method `title' for #<Badge::ActiveRecord_Associations_CollectionProxy:0x007fb85a6db2c0>
@badges_completed = @user.badges

这种方式在视图中永远不会有title的重复。如果available徽章已完成,则该徽章应仅显示在completed下,而不会显示在available下。

<% @badges_completed.each do |completed| %>
  <%= completed.title %><br>
<% end %>

<% @badges_available.each do |available| %>
  <%= available.title %>
<% end %>

0 个答案:

没有答案