如果Rails中的相同项目排除

Vic*_*tor 2 ruby-on-rails

在我的Shop(姓名= ABC; ID = 10)节目视图中,我想要显示附近的商店.因此,我用这个:

          <h1>
            Shops nearby <span id="title"><%=h @shop.name %></span>
          </h1>

<% @shops.each_with_index do |shop, i| %>
                    <% if shop.geocoded? %>
                    {
                      latitude: <%= shop.lat %>,
                    longitude: <%= shop.lng %>,
                      html: "<a href='#item_<%= i + 1 %>'><strong><%=h shop.name %></strong></a>",
                      icon: { image: "<%= APP_CONFIG[:site_url] + '/images/map_blue_' + (i+1).to_s + '.png' %>",
                              iconsize: [48, 48],
                              iconanchor: [24,48],
                              infowindowanchor: [24, 0] }
                    },
                    <% end %>
                  <% end %>
Run Code Online (Sandbox Code Playgroud)

您会注意到h1实际显示当前的商店ABC,其余的each实际显示了它附近的所有商店.问题是,它还包括商店ABC,因为它是最近的点.我如何要求each排除商店ABC?

Jac*_*kin 9

用途reject:

other_shops = @shops.reject {|shop| shop == @shop}
Run Code Online (Sandbox Code Playgroud)

然后迭代other_shops:

other_shops.each_with_index do |shop, i|
  ...
Run Code Online (Sandbox Code Playgroud)

  • 辉煌!非常感谢! (2认同)