从Rails 5.0升级到5.1后,我会在应用程序重新加载时收到此错误,无论是从代码更改期间rails server还是reload!从控制台调用.
13:53$ rc
Loading development environment (Rails 5.1.1)
2.3.1 :001 > reload!
Reloading...
ArgumentError: unknown firstpos: NilClass
from (irb):1
2.3.1 :002 >
Run Code Online (Sandbox Code Playgroud)
https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/journey/gtg/builder.rb
应用程序跟踪为空,这是框架跟踪:
actionpack (5.1.1) lib/action_dispatch/journey/gtg/builder.rb:99:in `firstpos'
actionpack (5.1.1) lib/action_dispatch/journey/gtg/builder.rb:22:in `transition_table'
actionpack (5.1.1) lib/action_dispatch/journey/routes.rb:58:in `simulator'
actionpack (5.1.1) lib/action_dispatch/journey/router.rb:92:in `simulator'
actionpack (5.1.1) lib/action_dispatch/journey/router.rb:28:in `eager_load!'
actionpack (5.1.1) lib/action_dispatch/routing/route_set.rb:382:in `eager_load!'
railties (5.1.1) lib/rails/application/routes_reloader.rb:26:in `each'
railties (5.1.1) lib/rails/application/routes_reloader.rb:26:in `execute'
railties (5.1.1) lib/rails/application/finisher.rb:141:in `block (2 levels) in <module:Finisher>'
activesupport (5.1.1) lib/active_support/callbacks.rb:413:in `instance_exec'
activesupport (5.1.1) lib/active_support/callbacks.rb:413:in `block in make_lambda' …Run Code Online (Sandbox Code Playgroud) 说我有以下内容:
link_to "Excel", params.merge(format: 'xlsx')
Rails 5说,
尝试从未经过清理的请求参数生成URL!攻击者可以将恶意数据注入生成的URL,例如更改主机.白名单和清理传递的参数是安全的.
我想我不明白这是不安全的.任何人都可以在浏览器中输入他们想要的任何内容,无论如何都要对我的服务器执行GET请求.有什么不同?
我知道我可以解决它permit! 我正在努力理解的是消毒我的参数完成了什么.