使用Rails 4中的地编码器,我遇到了一个问题,试图在页面上显示距离。我有模特孩子爸爸和妈妈。孩子是爸爸妈妈的。妈妈的是基于地址或在线的。
Dads控制器
def show
@dad = Dad.find(params[:id])
near = Mom.near(@user_location, 5000, :select => "kids.*")
online = Mom.where(is_online: true)
near = near.arel.constraints.reduce(:and)
online = online.arel.constraints.reduce(:and)
mom = Mom.where((near).or(online))
@kids = @dad.kids.joins(:mom).merge(mom).order("moms.is_online DESC")
end现在,当我试图在视图中使用distance时:
<% @kids.each do |kid| %>
<%= kid.mom.distance.round(0) %>
<% end %>我知道错误:
Undefined method `distance' for #<Mom:0x9e7fc94>调试后,我发现distance for Mom无法工作,因为near方法已经消失。我不知道我能做些什么才能让它再次成为Mom模型的一部分。我在这里看:Github.com/alexreisner/Geo编码器/issues/99和这里:Github.com/alexreisner/Geo编码器#已知-问题,寻找一些可能的答案。知道我该怎么做吗?
发布于 2014-04-18 23:17:20
有趣的是,也许这不是最优雅的解决方案,但是关于:
<%= kid.mom.distance_to [kid.latitude, kid.longitude] %>https://stackoverflow.com/questions/23163731
复制相似问题