Ruby on rails 冗余嵌套重复运算符
以前有人收到过这个ruby警告吗?“警告:冗余嵌套重复运算符” 这是什么意思 当我开始Webrick的时候我就明白了 我的跟踪是这样的:Ruby on rails 冗余嵌套重复运算符,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,以前有人收到过这个ruby警告吗?“警告:冗余嵌套重复运算符” 这是什么意思 当我开始Webrick的时候我就明白了 我的跟踪是这样的: c:/Ruby192/lib/ruby/gems/1.9.1/gems/rack-mount-0.6.13/lib/rack/mount/strexp.rb:4 1: warning: redundant nested repeat operator c:/Ruby192/lib/ruby/gems/1.9.1/gems/actionpack-3.0.5/li
c:/Ruby192/lib/ruby/gems/1.9.1/gems/rack-mount-0.6.13/lib/rack/mount/strexp.rb:4
1: warning: redundant nested repeat operator
c:/Ruby192/lib/ruby/gems/1.9.1/gems/actionpack-3.0.5/lib/action_dispatch/routing
/route.rb:25: warning: redundant nested repeat operator
c:/Ruby192/lib/ruby/gems/1.9.1/gems/rack-mount-0.6.13/lib/rack/mount/route.rb:46
我使用的是Rails 3.0.5和Ruby 1.9.2 p180当一个原子上有一个带有两个重复运算符的正则表达式时,就会发生这种情况。例如:
ruby-1.9.2-p180 :001 > re = /\w**/
~/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/irb/workspace.rb:80:
warning: redundant nested repeat operator: /\w**/
=> /\w**/
考虑到回溯具有类似于路由库的功能(我个人没有使用机架安装gem),我猜您的一条路由中要么有一个冗余的repeat操作符,要么被缩减为一个有一个的regex。michael的回答让我找到了真正的问题: 如果routes.rb中包含以下内容
match "/foo(/bar(/something)))" => "controller#action"
你会得到上面提到的警告。它的存在是为了警告您,/foo
有效,/foo/bar
也有效,/foo/bar/something
将来请1)在帖子中缩进堆栈跟踪或代码示例,2)显示导致您希望修复的错误的代码。