Rails城市房源

时间:2009-11-12 10:24:48

标签: ruby-on-rails

我对rails很新,我正在处理一项任务,该任务需要与“城市”选项卡类似的功能:http://haystack.com/cities。我搜索了所有书籍,似乎无法理解使所有这些成为可能的逻辑。我唯一能想到的就是逆向工程电子商务代码来做我想做的事情。有没有人有任何好主意?

2 个答案:

答案 0 :(得分:2)

您至少需要从geonames.org或zipcodeworld.com等地方获取城市/州的数据列表。然后,您必须将城市映射到州,州/国家,然后找出一种干净的方式来显示它,就像haystack.com网站一样。我猜测顶级城市要么根据有多少用户请求每个城市来加权,要么仅根据所谓的热门城市进行加权。

大多数情况下,它只涉及您如何将每种数据类型(城市,州,国家)联系在一起。实际上,除了如何将所有这些都展示出来之外,其实很简单。基本上在您的数据库中有一个Cities,States和Countries表,然后创建类似于:

的模型
class Country
  has_many :states
end

class State
  belongs_to :country
  has_many :cities
end

class City
  belongs_to :state
end

编辑: 将它与用户关联:假设一个用户只能属于一个城市(虽然多个也不会那么困难),它看起来像是:

class User 
   belongs_to :city 
end 

class City
   belongs_to :state
   has_many :users 
end 

您应该可以执行以下操作:

usr = User.find(a_user_id) 
usr.city                 #New York City 
usr.city.state           #New York 
usr.city.state.country   #United States

答案 1 :(得分:0)

也许是这样的:

http://www.geonames.org/export/

您正在寻找什么?