Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.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 正在检查url rails中的有效参数数_Ruby On Rails_Routes - Fatal编程技术网

Ruby on rails 正在检查url rails中的有效参数数

Ruby on rails 正在检查url rails中的有效参数数,ruby-on-rails,routes,Ruby On Rails,Routes,我有一个接受两个参数的url。如何检查路由中传递的参数数量,如果请求包含两个以上的参数,如何放弃请求 我想检查传递的参数数量 提前感谢您可以在routes.rb中使用类约束来执行此操作: 创建类 class NbParametersConstraint def initialize(nb) @nb = nb end def matches?(request) request.params.length <= @nb end end 之后,您可以通过过滤

我有一个接受两个参数的url。如何检查路由中传递的参数数量,如果请求包含两个以上的参数,如何放弃请求

我想检查传递的参数数量


提前感谢

您可以在routes.rb中使用类约束来执行此操作:

创建类

class NbParametersConstraint
  def initialize(nb)
    @nb = nb
  end

  def matches?(request)
    request.params.length <= @nb
  end
end
之后,您可以通过过滤器在控制器中执行此操作

class UserController

  before_filter :max_params, :only => :index

  private

  def max_params
    render :status => 404 if params.size > 3
  end

end

您可以在routes.rb中使用约束和类来执行此操作:

创建类

class NbParametersConstraint
  def initialize(nb)
    @nb = nb
  end

  def matches?(request)
    request.params.length <= @nb
  end
end
之后,您可以通过过滤器在控制器中执行此操作

class UserController

  before_filter :max_params, :only => :index

  private

  def max_params
    render :status => 404 if params.size > 3
  end

end