ActionController::Parameters to_query 升级到 Rails 5.0 后失败
ActionController::Parameters to_query fails after upgrading to Rails 5.0
在Rails 4.2.4中,ActionController::Parameters.new(pos: 'xyz', foo: 'bar').to_query
returns "foo=bar&pos=xyz"
.
升级到 Rails 5.0 后,我得到这个:
ArgumentError: wrong number of arguments (given 0, expected 1)
from /Users/Lars/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0.rc2/lib/active_support/core_ext/object/to_query.rb:11:in `to_query'
from (irb):7
from /Users/Lars/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/railties-5.0.0.rc2/lib/rails/commands/console.rb:65:in `start'
from /Users/Lars/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/railties-5.0.0.rc2/lib/rails/commands/console_helper.rb:9:in `start'
from /Users/Lars/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/railties-5.0.0.rc2/lib/rails/commands/commands_tasks.rb:78:in `console'
from /Users/Lars/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/railties-5.0.0.rc2/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
from /Users/Lars/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/railties-5.0.0.rc2/lib/rails/commands.rb:18:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'
但是 to_query
的文档清楚地表明 to_query 的参数(仍然)是可选的:http://api.rubyonrails.org/classes/ActionController/Parameters.html#method-i-to_query
有什么想法吗?
在Rails 4.2.4中,ActionController::Parameters.new(pos: 'xyz', foo: 'bar').to_query
returns "foo=bar&pos=xyz"
.
升级到 Rails 5.0 后,我得到这个:
ArgumentError: wrong number of arguments (given 0, expected 1)
from /Users/Lars/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0.rc2/lib/active_support/core_ext/object/to_query.rb:11:in `to_query'
from (irb):7
from /Users/Lars/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/railties-5.0.0.rc2/lib/rails/commands/console.rb:65:in `start'
from /Users/Lars/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/railties-5.0.0.rc2/lib/rails/commands/console_helper.rb:9:in `start'
from /Users/Lars/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/railties-5.0.0.rc2/lib/rails/commands/commands_tasks.rb:78:in `console'
from /Users/Lars/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/railties-5.0.0.rc2/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
from /Users/Lars/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/railties-5.0.0.rc2/lib/rails/commands.rb:18:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'
但是 to_query
的文档清楚地表明 to_query 的参数(仍然)是可选的:http://api.rubyonrails.org/classes/ActionController/Parameters.html#method-i-to_query
有什么想法吗?