Rails маршрутизация заставляет присутствовать param - PullRequest
0 голосов
/ 25 мая 2018

Я довольно новичок в разработке ruby ​​api и создал указанную ниже конечную точку в моем routes.rb

get "/users/active_users/:since"

Однако, когда параметр не задан, я хочу, чтобы параметр по умолчанию был определеннымзначение.Как мне обеспечить это?Кроме того, я хочу, чтобы этот параметр был целым числом, а не буквенно-цифровым.Помощь приветствуется!

1 Ответ

0 голосов
/ 25 мая 2018
get "/users/active_users/:since"

Делая этот маршрут обязательным для выдачи params[:since], в противном случае он выдаст ошибку not routes matches

Так что здесь я бы предложил вам сделать маршруты

get "/users/active_users"

Поскольку запрос типа get не влияет на него больше, вы можете добавить params[:since] в запрос с маршрутами, подобными следующим: -

/users/active_users?since=1999

И на вашем контроллере вы получитеparams[:since] = 1999

Насколько я знаю, невозможно обеспечить принудительное использование маршрутов для приема только целых чисел params, но он может обрабатываться на стороне контроллера

params[:since].is_a? Integer
=> true

Или

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