我正在尝试在 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
用户,但密码会错误。