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
По умолчанию в маршрутах Ruby on Rais точка используется для определения формата запроса (как правило - расширения файлов). Но если вы хотите сделать допустимым использование точки в сегментах ваших маршрутов, необходимо прописать следующее правило для сегмента:
Для чего это может понадобиться? Например, для руcскоязычных url, где тот же
:name
не кодируется, а записывается прямо по-русски:/Какая-то страница. И это заголовок/1