JRuby 中未定义的方法'error'



我正在尝试在 Solaris 上的用户空间中在 JRuby 1.7.3 上运行 Rails,但在运行 rake db:create 时出现此错误。

-bash-3.2$ rake db:create
rake aborted!
undefined method `error' for #<ActiveRecord::JDBCError:0x109d7b8>
org/jruby/RubyArray.java:1613:in `each'
org/jruby/RubyProc.java:249:in `call'
org/jruby/RubyArray.java:1613:in `each'
org/jruby/RubyArray.java:1613:in `each'
org/jruby/RubyKernel.java:1046:in `load'
Tasks: TOP => db:create
(See full trace by running task with --trace)

我已经查看了这条线的JRuby来源,但我对此的深度还很远,我不确定发生了什么。以前有人见过吗?

我以前没有遇到过这种错误,但只是为了仔细检查.. 您是否使用特定于 jruby 的 gem 来建立与数据库的连接:

https://github.com/jruby/activerecord-jdbc-adapter

如果没有,请尝试使用它来代替您迄今为止一直用于"常规"红宝石的那些

我只是遇到了这个错误。这似乎是Rails中的一个错误。您检查该行的来源的想法很好。我去了那里,只是为了$stdout.print error而更改了$stdout.print error.error,因为error方法似乎没有定义。

这揭示了实际错误:

#<ActiveRecord::JDBCError: Access denied for user 'root'@'localhost' (using password: YES)>

就我而言,我在config/database.yml文件中拼错了username键,因此它会假定root用户,但密码会错误。