ord*_*of1 2 ruby-on-rails redis
我正在尝试按照本教程将rails连接到redis .但是当我尝试$redis = Redis.new(:host => 'localhost', :port => 6379)甚至只是尝试时,我会收到以下错误Redis.new.我也试过了新的符号(host: 'localhost',port: 6379).Redis工作(通过redis-cli传递进行ping-PONG测试).
ArgumentError: odd number of arguments for Hash
from /var/lib/gems/1.9.1/gems/redis-2.1.1/lib/redis.rb:65:in `[]'
from /var/lib/gems/1.9.1/gems/redis-2.1.1/lib/redis.rb:65:in `info'
from /var/lib/gems/1.9.1/gems/redis-2.1.1/lib/redis.rb:606:in `inspect'
from /var/lib/gems/1.9.1/gems/railties-4.0.0/lib/rails/commands/console.rb:90:in `start'
from /var/lib/gems/1.9.1/gems/railties-4.0.0/lib/rails/commands/console.rb:9:in `start'
from /var/lib/gems/1.9.1/gems/railties-4.0.0/lib/rails/commands.rb:64:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
Config Details:
$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
$ rails -v
Rails 4.0.0
Run Code Online (Sandbox Code Playgroud)
我使用redis gem版本2.1.1收到相同的错误.尝试将redis gem更新为最新版本,即版本3.0.4.
要更新redis gem,您可以运行
gem update redis
Run Code Online (Sandbox Code Playgroud)
更新本地安装的版本,或运行
bundle update redis
Run Code Online (Sandbox Code Playgroud)
更新作为Gemfile的一部分安装的redis gem.
$ irb
1.9.3p392 :001 > require 'redis'
=> true
1.9.3p392 :002 > Redis.new(:host => 'localhost', :port => 6379)
ArgumentError: odd number of arguments for Hash
from /Users/zachallett/.rvm/gems/ruby-1.9.3-p392/gems/redis-2.1.1/lib/redis.rb:65:in `[]'
from /Users/zachallett/.rvm/gems/ruby-1.9.3-p392/gems/redis-2.1.1/lib/redis.rb:65:in `info'
from /Users/zachallett/.rvm/gems/ruby-1.9.3-p392/gems/redis-2.1.1/lib/redis.rb:606:in `inspect'
from /Users/zachallett/.rvm/rubies/ruby-1.9.3-p392/bin/irb:16:in `<main>'
Run Code Online (Sandbox Code Playgroud)
.
$ irb
1.9.3p392 :001 > require 'redis'
=> true
1.9.3p392 :002 > Redis.new(:host => 'localhost', :port => 6379)
=> #<Redis client v3.0.4 for redis://localhost:6379/0>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2566 次 |
| 最近记录: |