ruby-on-rails - Ruby on Rails : looping through records, 但不显示当前 ID 的记录

标签 ruby-on-rails ruby ruby-on-rails-4

我可以根据地理编码器 gem 中的纬度和经度搜索附近的记录,但如何不显示我现在正在查看的记录?

如果我正在使用 localhost:3000/project/san-diego(位于美国圣地亚哥)进行项目展示,并且我通过

进行附近搜索
# controller
@project = Project.friendly.find(params[:id])
@nearby = Project.near([@project.latitude, @project.longitude], 50, :order => 'distance')

# view
<% @nearby.each do |n| %>
  <span><%= n.title_name %></span>
<% end %>

如何不显示当前记录,而是显示附近的所有其他记录?

最佳答案

使用地理编码器,您可以简单地执行以下操作:

# controller
@project = Project.friendly.find(params[:id])
@nearby = @project.nearbys(50)

# view
<% @nearby.each do |n| %>
  <span><%= n.title_name %></span>
<% end %>

注意 nearbys 方法。这会在给定距离(50 英里)内找到同一对象的其他。在这种情况下,它将找到其他Project

地理编码器文档页面上对此方法进行了更详细的解释:https://github.com/alexreisner/geocoder

关于ruby-on-rails - Ruby on Rails : looping through records, 但不显示当前 ID 的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31689564/

相关文章:

javascript - jQuery 回调将 Rails 用户值设置为 true

ruby-on-rails - 数组中不同类的 active_model_serializers

javascript - 在 Rails 中使用 JQuery Jcrop 插件裁剪头像

ruby - 运行 Rails 服务器时出现 asdf 消息 "No version set for command rails"

ruby-on-rails - Rails 4 Net::SMTPAuthenticationError: 535 #5.7.0 身份验证失败

java - 如何将系统属性从jruby传递到Rails服务器

ruby-on-rails - request.referrer 仅适用于本地主机上的 URL

ruby-on-rails - 如何让 Rails 参数接受字符串数组?

ruby - GitHub API : Tag a commit belongs to ( parallel for git describe --tag <sha> )

ruby - 如何显式引用 Ruby 中的核心类?