Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 轨道路由强制参数存在_Ruby On Rails_Ruby_Routing - Fatal编程技术网

Ruby on rails 轨道路由强制参数存在

Ruby on rails 轨道路由强制参数存在,ruby-on-rails,ruby,routing,Ruby On Rails,Ruby,Routing,我是ruby api开发的新手,在routes.rb中创建了以下端点 但是,如果没有给出参数,我希望参数默认为某个值。我该如何执行这一点?另外,我想强制要求param是整数,而不是字母/字母数字。谢谢你的帮助 get "/users/active_users/:since" 通过将此路由设置为强制提供参数[:since],否则将抛出错误not routes MATCHS 所以在这里,我建议你制定路线 get "/users/active_users" 由于它是get type请求,所以不会产

我是ruby api开发的新手,在routes.rb中创建了以下端点

但是,如果没有给出参数,我希望参数默认为某个值。我该如何执行这一点?另外,我想强制要求param是整数,而不是字母/字母数字。谢谢你的帮助

get "/users/active_users/:since"
通过将此路由设置为强制提供参数[:since],否则将抛出错误not routes MATCHS

所以在这里,我建议你制定路线

get "/users/active_users"
由于它是get type请求,所以不会产生更多影响,您可以在查询中使用如下路由附加参数[:因为]:-

/users/active_users?since=1999
在您的控制器上,您将获得params[:since]=1999

据我所知,不能强制路由只接受整数参数,但它可以在控制器端处理

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


用可选参数创建一个路由,在上检查我的答案,然后在控制器上检查参数是否存在,以及它是否是有效的整数!谢谢:肯定有帮助,谢谢@尼克:如果这个答案对你有帮助,你能接受吗。?
params[:since].is_a? Integer
=> true
params[:since].to_i