Ruby
Rails

Rails 3のURLに小数点を含める方法

More than 5 years have passed since last update.

緯度/経度/海抜高度でリソースを取得したいので、URLにこんな感じで小数点を含めたい

/satellites/33.2095213/129.7922366/10.3

そのまま取ろうとしてもピリオドが邪魔してRouting Errorになる。

こんなときはconstraintsを指定すれば取得できる。


config/routes.rb

DECIMAL_PATTERN = /.*/

get 'satellites/:latitude/:longitude/:elevation' => 'satellites#position', :constraints => { :latitude => DECIMAL_PATTERN, :longitude => DECIMAL_PATTERN, :elevation => DECIMAL_PATTERN }