加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 为路由添加约束以排除某些关键字

发布时间:2020-12-16 19:19:28 所属栏目:百科 来源:网络整理
导读:我正在使用Rails,并且我想在路由中使用禁令来排除该路由,如果关键字“incident”在url中的任何位置. 我正在使用rails3. 这是我现有的路线. match ':arg',:to = "devices#show",:constraints = {:arg = /???/} 我需要在约束中加入一些内容,以便在出现单词“in
我正在使用Rails,并且我想在路由中使用禁令来排除该路由,如果关键字“incident”在url中的任何位置.

我正在使用rails3.

这是我现有的路线.

match ':arg',:to => "devices#show",:constraints => {:arg => /???/}

我需要在约束中加入一些内容,以便在出现单词“incident”时它不匹配.

谢谢

解决方法

而不是以一种不打算的方式弯曲正则表达式,我建议使用这种方法:
class RouteConstraint
  def matches?(request)
    not request.params[:arg].include?('incident')
  end
end

Foo::Application.routes.draw do
  match ':arg',:constraints => RouteConstraint.new
  ...

它更冗长,但最终我觉得更优雅.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读