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 ... 它更冗长,但最终我觉得更优雅. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |