2012-04-04 19 views
0

は、本当に簡単であるべきルーティングの問題を有するが、簡単なようで、単に動作していない理由はわからない:Railsのルートが動作しない -

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 

THX任意のアイデアについて

編集#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 

それはまだ動作しません。 => falseのが、これはどちらか助けているようだdoens'tフォーマット:私が追加しようとした2

編集#。

マッチ '/ API /取得・ロケーション・バイ・距離/:緯度/経度' => 'API#1 get_locations_by_distance'、:形式=>これは考え

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

答えて

2

偽その.233434はフォーマット

+0

うーん...この問題を回避することができるもの、撃ちますか? '.233434/fill'のように最後に不必要な部分を追加していますか? – timpone

+0

'match '...'、:longitude =>/[+ - ]?\ d + \。\ d + /' – MikDiet

+0

thxのような制約を使って、@Tiloの答えの制約を抱かせることができます。 – timpone

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/

関連する問題