如何从 Rails 的列表中删除重复的国家?
How to remove duplicate countries from the list in Rails?
我在 Rails 5.2 和 Mongoid 7.0
上使用 Ruby
如何从列表中删除重复的国家
@badge = @user.places.all
<%= @badge.each do |badge| %>
<%= badge.country %><p>
<% end %>
现在结果:
France Netherlands Spain Netherlands Netherlands Netherlands Indonesia
我需要:
France Netherlands Spain Indonesia
尝试将第一行替换为:@badge = @user.places.all.uniq
.
我假设徽章不同,但其中一些徽章似乎属于同一个国家。因此我认为你不能在徽章上调用 unique
但必须在不同国家的列表上调用它:
<% @badge.map(&:country).unique.each do |country| %>
<p><%= country %></p>
<% end %>
根据您的数据库结构,如果您需要将整个 @badges
变量放在另一个地方,也可以选择仅从数据库加载不同的国家/地区列表:
@countries = @user.places.distinct.pluck(:country)
<% @countries.each do |country| %>
<p><%= country %></p>
<% end %>
我在 Rails 5.2 和 Mongoid 7.0
上使用 Ruby如何从列表中删除重复的国家
@badge = @user.places.all
<%= @badge.each do |badge| %>
<%= badge.country %><p>
<% end %>
现在结果:
France Netherlands Spain Netherlands Netherlands Netherlands Indonesia
我需要:
France Netherlands Spain Indonesia
尝试将第一行替换为:@badge = @user.places.all.uniq
.
我假设徽章不同,但其中一些徽章似乎属于同一个国家。因此我认为你不能在徽章上调用 unique
但必须在不同国家的列表上调用它:
<% @badge.map(&:country).unique.each do |country| %>
<p><%= country %></p>
<% end %>
根据您的数据库结构,如果您需要将整个 @badges
变量放在另一个地方,也可以选择仅从数据库加载不同的国家/地区列表:
@countries = @user.places.distinct.pluck(:country)
<% @countries.each do |country| %>
<p><%= country %></p>
<% end %>