[英]Ruby on Rails exclude group elements in route constraints
我想知道,如何為我的路線定義約束正則表達式,只有當它排除了組中的每個元素時才會匹配。
例如,我想這樣做:
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
這將從list
路由中排除new
, edit
, delete
和update
操作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.