Ruby on rails RubyonRails排除路由约束中的组元素
我想知道,如何为我的路线定义约束正则表达式,只有当它排除组中的每个元素时,它才会匹配 例如,我想这样做:Ruby on rails RubyonRails排除路由约束中的组元素,ruby-on-rails,regex,ruby-on-rails-3,routes,constraints,Ruby On Rails,Regex,Ruby On Rails 3,Routes,Constraints,我想知道,如何为我的路线定义约束正则表达式,只有当它排除组中的每个元素时,它才会匹配 例如,我想这样做: get "list/:action", :constraints => {:action => [NONE OF THE FOLLOWING: (new, edit, delete, update)} 我知道如果我们想让它匹配列表中的任何元素,我们会这样定义: get“list/:action”,:constraints=>{:action=>/(new | edit | de
get "list/:action", :constraints => {:action => [NONE OF THE FOLLOWING: (new, edit, delete, update)}
我知道如果我们想让它匹配列表中的任何元素,我们会这样定义:
get“list/:action”,:constraints=>{:action=>/(new | edit | delete | update)/},
但我不知道如何让它像上面描述的那样工作
我试过使用^
和代码>在小组前签名,但到目前为止运气不好-我认为必须有另一个符号
如何排除这些元素?请尝试以下操作。它将从路由中排除操作
class ExcludeActions
def matches?
["new", "edit", "delete", "update"].exclude? params[:action]
end
end
get "list/:id", :constraints => ExcludeActions.new
这将从列表的路由中排除新建
、编辑
、删除
和更新
操作否,我不能使用资源指令。我只需要使用约束。该类应在名为exclude\u actions.rb的单独模型中编写