Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 这是'中可能存在的错误吗;activerecord jdbc适配器';当你试图快速加载时?_Ruby On Rails_Activerecord_Jdbc_Jruby_Jrubyonrails - Fatal编程技术网

Ruby on rails 这是'中可能存在的错误吗;activerecord jdbc适配器';当你试图快速加载时?

Ruby on rails 这是'中可能存在的错误吗;activerecord jdbc适配器';当你试图快速加载时?,ruby-on-rails,activerecord,jdbc,jruby,jrubyonrails,Ruby On Rails,Activerecord,Jdbc,Jruby,Jrubyonrails,我们有以下型号: payment.rb: class Payment < ActiveRecord::Base has_many :currencies default_scope :include => :currencies end ... owner_key = record[association_key_name].to_s owners_map[owner_key].each do |owner| ... 问题可在以下方面找到: 第88行和第89行中: c

我们有以下型号:

payment.rb:

class Payment < ActiveRecord::Base
  has_many :currencies

  default_scope :include => :currencies
end
...
owner_key = record[association_key_name].to_s

owners_map[owner_key].each do |owner|
...
问题可在以下方面找到:

第88行和第89行中:

class Payment < ActiveRecord::Base
  has_many :currencies

  default_scope :include => :currencies
end
...
owner_key = record[association_key_name].to_s

owners_map[owner_key].each do |owner|
...

当我逐步浏览代码时,我可以看到
record[association\u key\u name]
是一个大十进制,例如108.0,当
应用到
时,它变成了“108.0”。但是,
owners\u map
hash中的键应为“108”,而不是“108.0”

association\u key\u name
是Oracle数据库中外键的名称,定义为类型编号。主键也被定义为类型Number,但奇怪的是它没有解析为BigDecimal

有什么想法吗?这是一个可能的错误吗?或者数据库列的精度是否需要更改

系统信息:
JRuby on Rails(3.2.1)
ActiveRecord JDBC适配器

Oracle数据库(使用视图而不是表)

问题源于数据库上的外键被定义为具有精度的数字。谢谢你给我指点这篇文章


我让我们的DBA消除了现场的精度,一切都很好。当然,我们很幸运能够构建一个新产品,在这个新产品中,我们的模式可以很容易地更改…

是的,Oracle中的数字数据类型的精度大于0。如果Rails生成了列(定义为:integer),那么这可能是Rails的错误。如果表中存在一个类型为Number且精度大于0的外键,则它是一个bug。。。或者至少是一个等待发生的问题。事实上,我想它不会再等了:-)。我通过谷歌快速搜索找到了这个(很久以前的)链接:谢谢你的链接!事实上,我正在使用视图包装表,所以我将研究如何消除精度。这个问题仍然困扰着jRuby、Oracle JDBC和Rails 4.1.5。有人找到了新版本JDBC的补丁吗