Вместо того, чтобы сгибать регулярные выражения так, как это не предназначено, я предлагаю этот подход:
class RouteConstraint
def matches?(request)
not request.params[:arg].include?('incident')
end
end
Foo::Application.routes.draw do
match ':arg', :to => "devices#show", :constraints => RouteConstraint.new
...
Это намного более многословно, но, в конце концов, я думаю, более элегантно.