我已经安装了mysql gem,但是我遇到了第一个障碍:
initialize': wrong number of arguments(4 for 0) (ArgumentError)
from open.rb:14:in `new'
from open.rb:14:in `<main>'
此代码的结果是:
require 'mysql'
db = Mysql.new('localhost','root','','test')
puts db
我正在关注本教程中的代码:
http://rubylearning.com/satishtalim/ruby_mysql_tutorial.html
看起来新方法不会接受4个参数。我不知道为什么。 Mysql.new创建一个新对象就好了。
答案 0 :(得分:2)
使用Mysql2 gem:
gem install mysql2
然后:
require 'mysql2'
client = Mysql2::Client.new(:host => "localhost", :username => "root")
results = client.query("show databases")
results.each do |row|
puts row["Database"]
end
中找到更多信息
HTH!
答案 1 :(得分:0)
第14行是您声明db = Mysql.new('localhost','root','','test')
的行吗?
我刚刚打开irb
,安装了gem,复制了你的行,它运行得很好 - 它按预期返回了一个Mysql对象。
你能尝试通过irb
做同样的事吗?顺便说一句,我建议您安装mysql2
gem。以下是对原因的解释:What the difference between mysql and mysql2 gem