ActiveRecord与AR-JDBC的兼容性问题

Ruby的作者是日本人,这个我想大家都知道,所以第一手的语言相关资料是日语的这不稀奇。好在我不是研究语言本身的, 也就不用去折腾什么日语了。

最近在看JRuby on Rails的东西,在实验一段小的数据库操作的代码时偏偏就碰上了个奇怪的问题——在事务中执行save!方法报错:

D:/jruby-1.0.2/lib/ruby/gems/1.8/gems/activerecord-2.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:73:in `transaction': wrong # of arguments(2 for 1) (ArgumentError)
        from D:/jruby-1.0.2/lib/ruby/gems/1.8/gems/activerecord-2.0.1/lib/active_record/transactions.rb:80:in `transaction'
        from D:/jruby-1.0.2/lib/ruby/gems/1.8/gems/activerecord-2.0.1/lib/active_record/transactions.rb:100:in `transaction'

基本可以确定是ActiveRecord内部的错,可是AR用的这么广泛,没道理出这种问题,因此我初步断定是JRuby中用的ActiveRecord-JDBC 0.6和ActiveRecord 2.0.1的兼容性问题。JRuby的开发组核心成员都在Sun,不是日本人,AR-JDBC也不是日本人开发的。。。可我为什么在Google中始终找不到类似我这样的错呢,好不容易找到了确实个日本的博客(http://d.hatena.ne.jp/akm/searchdiary?word=*%5Bjava%5D),看着报错信息有那么点像,就用Google把内容一段段翻译出来,最后他还给了个JRuby的JIRA地址(http://jira.codehaus.org/browse/JRUBY-1570)。事实证明我的推断是正确的,这个问题已在AR-JDBC的Trunk中修复了。

是我的搜索能力不行?还是全球碰上这个问题的人太少?希望下次有人遇到相同的问题能先搜到我这篇Blog,呵呵。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值