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,呵呵。
分享到:
相关推荐
ActiveRecord-JDBC-Adapter(AR-JDBC)是Rails ActiveRecord组件的主要数据库适配器,可以与一起使用。 ActiveRecord-JDBC-Adapter提供对以下各项的完全或几乎完全支持: MySQL , PostgreSQL , SQLite3和MSSQL *...
activerecord-oracle-adapter-1.0.0.9250.gem 我找了很久才找到的,希望能解决部分像我这样,需要的同志!分就不要了,我就搬运了下,希望能解决部分人的问题!
activerecord-postgis-adapter, 在PostgreSQL和rgeo上,基于PostGIS的ActiveRecord连接适配器,基于 PostGIS适配器 activerecord-postgis-adapter提供从ActiveRecord访问PostGIS地理空间数据库特性的功能。...
gem 'activerecord-multi-tenant' 支持的Rails版本 支持从4.2或更高版本(最高6.0)开始的所有Ruby on Rails版本。 该gem仅支持ActiveRecord(Rails的默认ORM),而不支持诸如Sequel之类的替代ORM。 用法 要求
安装将此行添加到您的应用程序的Gemfile中: gem 'activerecord-mysql-uuid-column' 然后执行: $ bundle或者自己安装: $ gem install activerecord-mysql-uuid-column用法常规 MySQL ActiveRecord 配置 test: ...
哈希数组要求ActiveRecord版本“> = 3.0.0”安装将此行添加到您的应用程序的Gemfile中: gem 'activerecord-raw-data'然后执行: $ bundle或将其自己安装为: $ gem install activerecord-raw-data用法User.raw_...
activerecord4-redshift-adapter, 用于Amazon红移的ActiveRecord 4 DB适配器 activerecord4-redshift-adapter用于 ActiveRecord 4 ( Rails 4 )的Amazon Redshift适配器。 我从ActiveRecord复制了PostgreSQL驱动程序...
将 activerecord-time-scope gem 添加到您的 Gemfile。 gem "activerecord-time-scope" 并运行bundle install 。 用法 时间 汽车 要为 ActiveRecord 模型的时间相关列创建范围,例如“created_at”, class Foo...
activerecord-clean-db-结构 使用ActiveRecord和Postgres时,是否会因为不断变化的db/structure.sql文件而感到烦恼? 花了几个小时试图解释为什么一个团队成员不断更改文件? 该库可以为您提供帮助! 每次自动...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
gem 'activerecord-mysql-unsigned' 然后执行: $ bundle 或将其自己安装为: $ gem install activerecord-mysql-unsigned 用法 在迁移中,您可以定义整数字段,例如: class CreateUsersTable < ...
ar-softdelete, ActiveRecord的软删除行为 用于Yii2的ActiveRecord软删除扩展这里扩展为ActiveRecord软删除提供支持。许可证信息检查许可证 -file"。 安装安装这个扩展的首选方法是通过 composer插件。运行php
activerecord-postgis-adapter可从ActiveRecord访问PostGIS地理空间数据库的功能。 它扩展了标准的postgresql适配器,以支持PostGIS扩展添加的空间数据类型和功能。 它使用库在Ruby中表示空间数据。 总览 适配器...
views 允许将数据库视图存储为sql文件并易于应用安装只需Gemfile添加到您的Gemfile gem 'activerecord-database-views' 并运行bundle install用法将将要从中生成视图SQL放置到db\views目录中(实际的视图名称将与...
activerecord-postgres-dump-schemas 在调用rake db:structure:dump时,明确定义要在Rails db/structure.sql文件中转储的PostgreSQL模式。 此功能将包含在Rails的5,但这种宝石反向移植此功能的Rails 3个Rails 4幸...
"scala-activerecord-specs_2.9.2-0.2.3.zip" 这个标题表明我们正在处理一个与Scala Activerecord相关的软件包,具体是版本为0.2.3的规格测试部分,适用于Scala 2.9.2。"specs"通常指的是软件的规范或测试套件,意味...
注意: activerecord-crate-adapter当前仅适用于Rails 4.1.x 将此行添加到您的应用程序的Gemfile中: gem 'activerecord-crate-adapter' 然后执行: $ bundle 或自己安装为: $ gem install activerecord-crate-...
AR5有一些差异,并且该驱动程序尝试与它们保持兼容。 如果有人编写了与ActiveRecord 5一起使用的更好的Redshift驱动程序并对其进行维护,我们将很乐意切换到该驱动程序。 用法 对于Rails 5,在Gemfile中编写以下...