Cайт веб-разработчика, программиста Ruby on Rails ESV Corp. Екатеринбург, Москва, Санкт-Петербург, Новосибирск, Первоуральск

Админка на Ruby on Rails

Ruby on Rails: Возможность использования точки в пути, в маршрутах

По умолчанию в маршрутах Ruby on Rais точка используется для определения формата запроса (как правило - расширения файлов). Но если вы хотите сделать допустимым использование точки в сегментах ваших маршрутов, необходимо прописать следующее правило для сегмента:

App::Application.routes.draw do

  ...

  get '/:name/:id' => 'texts#page',
    as: :text_page,
    constraints: {
      name: /[^\\\/]+/,  # любые символы, кроме разделителей пути
      id: /\d+/,
    }

  ...

end

Для чего это может понадобиться? Например, для руcскоязычных url, где тот же :name не кодируется, а записывается прямо по-русски:
/Какая-то страница. И это заголовок/1