@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 %>