我在“用户”表格中存储了邮政编码,在“地点信息”表格中,我有来自所有50个州的 lat,lon 和拉链数据。
我想完成这一行:
:geo => [current_user.latitude * Math::PI / 180.0, current_user.longitude * Math::PI / 180.0]
问题是用户只存储邮政编码。如何定义以便 current_user.latitude 根据当前用户的邮政编码显示纬度?
答案 0 :(得分:0)
我对locations
表的结构并不完全清楚,但是如下所示:
class User < ActiveRecord::Base
def location
@location ||= Location.where(zip: zipcode)
end
def latitude
location.lat
end
def longitude
location.lon
end
end
真正的问题是如何构建users
表和locations
表之间的连接。如果每个列都包含一个包含邮政编码字符串的列,则只需要一个简单的where
条件,就像上面User#location
中显示的条件一样。