1

グループのすべての要素を除外する場合にのみ一致する、ルートの制約正規表現を定義する方法を考えていました。

たとえば、私はそうしたいと思います:

get "list/:action", :constraints => {:action => [NONE OF THE FOLLOWING: (new, edit, delete, update)}

リストの要素のいずれかに一致させたい場合は、次のように定義します。

get "list/:action", :constraints => {:action => /(new|edit|delete|update)/},しかし、上記のように機能させる方法がわかりません。

^グループの前にand記号を使用してみ!ましたが、今のところうまくいきません。別の表記法が必要だと思います。

これらの要素を除外するにはどうすればよいですか?

4

1 に答える 1

3

以下を試してください。ルートからアクションを除外します。

class ExcludeActions
  def matches?
    ["new", "edit", "delete", "update"].exclude? params[:action]
  end
end

get "list/:id", :constraints => ExcludeActions.new

newこれにより、 、editdeleteおよびupdateアクションがルートから除外されますlist

于 2013-04-01T09:29:04.307 に答える