2011-04-11 91 views
6

我想在我的導軌應用程序中創建一個路線來處理GPS座標參數。目的是找到靠近特定位置的餐館。用GPS參數處理導軌路線

這是我開始:
match "/restaurants/near/:lat/:lng(/:range)", :to => "restaurants#near", :as => "near", :constraints => {:range => /\d+/}

似乎路由器有浮動參數的問題,比如/restaurants/near/53.0123/10.5678的網址無法識別。在軌道URL中處理GPS座標是否有解決方案或最佳做法?

謝謝!

+0

是這條道路對你合適?:'get'/ restaurants/near'=>'restaurants#near',:as =>:near_restaurants'。並使用它:'near_restaurants_path(:lat => 1.1,:lng => 2.2,:range => 10)'。生成的路徑將成爲'/ restaurants/near?lat = 1.1&lng = 2.2&range = 10'。最重要的部分是它在控制器中是一樣的。 – PeterWong 2011-04-11 14:17:10

回答

11

的問題造成的,因爲Rails的嘗試使用「點」的搜索格式(.:format) 所以,你可以添加一些約束來解決這個問題,比如:

match "/restaurants/near/:lat/:lng(/:range)", :to => "restaurants#near", :as => "near", :constraints => {:lat => /\-?\d+(.\d+)?/, :lng => /\-?\d+(.\d+)?/ , :range => /\d+/} 
+0

/\ - *用於接受負座標 – eveevans 2011-04-11 22:53:24

+0

非常感謝!這有幫助! – 2011-04-12 09:23:09