Рельсы Довольно URL с десятичными - PullRequest
2 голосов
/ 16 апреля 2010

У меня есть приложение rails, которое позволяет выполнять поиск по долготе и широте. Я добавил «симпатичный» маршрут с:

map.connect 'stores/near/:longitude/:latitude', :controller => 'stores', :action => 'index'

Это работает для целочисленных значений широты и долготы (http://localhost:3000/stores/near/-88/49), но не работает для десятичных значений (http://localhost:3000/stores/near/-88.341/49.123), давая:

Routing Error

No route matches "/stores/near/-88/49.0" with {:method=>:get}

Есть идеи, как использовать красивые URL в рельсах с десятичными числами?

1 Ответ

1 голос
/ 16 апреля 2010

Использовать параметр: require => {: param_name => pattern_regex}

DECIMAL_PATTERN = /\A-?\d+(\.\d+)\z/.freeze
map.connect 'stores/near/:longitude/:latitude', 
  :controller => 'stores', :action => 'index',
  :requirements => { :longitude => DECIMAL_PATTERN, :latitude => DECIMAL_PATTERN }

Параметры с точками на URI

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...