0

遇到路由问题,应该很简单,但看起来很简单,只是不起作用:

match '/api/get-locations-by-distance/:latitude/:longitude' => 'api#get_locations_by_distance'

用这个电话:

http://localhost:3000/api/get-locations-by-distance/34.035645/-118.233434

谢谢你的任何想法

编辑 #1
如果我将其更新为以下内容:

match '/api/get-locations-by-distance/:latitude/:longitude/:stub' => 'api#get_locations_by_distance'

http://localhost:3000/api/get-locations-by-distance/34.035645/-118.233434/stub

它仍然不起作用。

编辑#2
我尝试添加 :format => false 但这似乎也无济于事。

匹配 '/api/get-locations-by-distance/:latitude/:longitude' => 'api#get_locations_by_distance', :format => false

http://localhost:3000/api/get-locations-by-distance/34.035645/-118.233434
4

2 回答 2

2

它认为这.233434是格式

于 2012-04-04T15:50:18.163 回答
0

就像 Mik_Die 说的 - . 是 Rails 中格式的分隔符。

这是一种解决方法:您可以指定自己的分段约束。

match '/api/get-locations-by-distance/:latitude/:longitude' => 'api#get_locations_by_distance' , 
       :constraints => { :latitude => /\d+\.\d+/ , :longitude  => /\d+\.\d+/ }

也可以看看:

http://x3ro.de/rails-3-routing-parameters-dots/

于 2012-04-04T17:04:21.503 回答