`

Oracle与Rails中关于number类型的一个小bug

阅读更多
这个bug太奇怪了,还有这样的事!!!

数据表user中一个字段percent的类型是number(4,2),
然后在Rails中我设置这个percent值为1.5,用Rspec测试
user.percent.should == 1.5
测试不通过:
expected: 1.5,
     got: #<BigDecimal:b1a68838,'0.15E1',8(8)> (using ==)


然后我将这个percent字段值设置为1.6,用Rspec测试
user.percent.should == 1.6

测试通过了。

你说这是什么情况?  

那个1.5这个值很奇怪?我进行了to_f操作还是不行:
user.percent.to_f.should == 1.5
测试不通过:
expected: 1.5,
     got: 1.5 (using ==)

明明相等了,还是不通过???



    it "test" do
      contract = Contract.new
      contract.return_service_percent = 1.6
      contract.return_service_percent.should == 1.6

      contract.return_service_percent = 1.5
      contract.return_service_percent.to_s.should == '1.5'
      contract.return_service_percent.should == 1.5 # 就这一行不能通过测试,fk
            

      contract.return_service_percent = 2
      contract.return_service_percent.should == 2
    end



---------------------------------------------

有兴趣的同学可以试试,遇到这种事情,哎!
0
0
分享到:
评论

相关推荐

    rails2.1與Oracle 連結所需gem

    压缩包中的文件“simanovskis-using-ruby-with-oracle-euruko2008.pdf”可能是一个关于使用Ruby与Oracle数据库的演讲稿或教程,来自Euruko 2008(一个欧洲的Ruby会议)。该文档可能包含更深入的技术细节,如性能优化...

    结合使用 Oracle 和 Ruby on Rails 教程

    要将Oracle与Rails结合,我们需要一个适配器,如`activerecord-oracle_enhanced-adapter`,这是一个官方维护的Oracle数据库适配器,可以实现Rails和Oracle之间的通信。 安装`activerecord-oracle_enhanced-adapter`...

    rails连接oracle需要的驱动

    rails连接oracle需要的驱动 执行命令:C:\&gt; ruby 文件名.rb &lt;br&gt;

    Ruby on Rails中文指南

    7. **哈希与符号化键(Hashes and Symbolized Keys)**:在Rails中,使用符号作为哈希键可以提高性能,因为符号是不可变的,且在内存中只存储一次。 8. **部分视图(Partials)**:部分视图是可重用的视图代码块,...

    关于rails 3.1 cucumber-rails 1.2.0

    在 Rails 应用中使用 Cucumber-Rails,开发者可以创建一个名为`features`的目录,里面包含这些Gherkin特性文件。每个特性文件描述了一个或多个业务场景,并使用关键字`Given`、`When`、`Then`等来定义步骤。这些步骤...

    Ruby-GoOnRails使用Rails生成器来生成一个Golang应用

    `GoOnRails`是专门为Rails开发者设计的一个生成器,它允许在Rails应用中集成Go代码,创建Go API服务。这个工具简化了在Rails项目中使用Go进行后端处理的流程,使开发者可以利用Go的性能优势处理高并发请求,同时保留...

    使用Aptana+Rails开发Rails Web应用(中文)

    本教程将详细介绍如何使用Aptana与Rails结合,创建一个功能完备的Web应用程序。 首先,我们需要安装Aptana Studio。你可以从其官方网站下载最新版本的安装包。安装过程中,遵循提示进行,确保选择自定义安装并勾选...

    Rails 中mongrel的安装

    在Rails项目中安装Mongrel通常通过RubyGems进行,这是一个Ruby的包管理器。首先确保RubyGems已经安装,然后在命令行执行以下命令: ```bash gem install mongrel ``` 安装完成后,可以通过`mongrel_rails`命令来...

    在RHEL上安裝設置ROR(nginx+passenger+ruby+rails+oracle+netzke)

    在RHEL(Red Hat Enterprise Linux)系统上搭建Ruby on Rails(简称RoR)应用程序环境是一项技术性较强的任务,尤其当涉及到与其他服务如Nginx、Phusion Passenger、Ruby、Rails以及Oracle数据库集成时。以下是对这...

    RailsGuides中那个blog程序源码

    RailsGuides中的"blog"程序是一个典型的入门级示例,旨在帮助初学者理解RoR的工作原理和核心概念。 在Rails中,**模型(Model)** 负责处理数据和业务逻辑,通常与数据库交互。在这个"blog"程序中,可能会有一个`...

    Rails 101 入门电子书

    - 测试安装: 创建一个简单的Rails应用来验证是否成功安装。 #### 五、练习作业0-Hello World - **目标**: - 学习如何创建第一个Rails应用程序。 - **过程**: - 创建新项目。 - 设置数据库配置。 - 创建控制器...

    rails指南 中文版

    Rails指南中文版是针对Ruby on Rails框架的一份详尽教程,旨在帮助开发者深入理解并熟练掌握这个强大的Web应用开发工具。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-...

    Rails101_by_rails4.0

    Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它遵循模型-视图-控制器(MVC)的架构模式,设计用来快速开发数据库驱动的动态网页。随着Rails版本的更新迭代,此书聚焦于一个特定的版本,帮助...

    rails中使用javascript日期控件

    这篇博客“rails中使用javascript日期控件”探讨的就是如何在Rails应用中集成JavaScript日期控件,特别是通过一个名为WebCalendar.js的库来实现这一功能。WebCalendar.js是一个轻量级的JavaScript库,用于创建交互式...

    rails2.3.2

    描述中的 "ruby and rails 的框架rails-2.3.3.zip" 提到的是 Rails 的另一个版本 2.3.3,尽管与标题中的版本号不完全匹配,但我们可以推断这是关于 Rails 2.3.x 系列的讨论。这个压缩包很可能包含了 Rails 框架的源...

    Rails项目源代码

    这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何利用Rails的强大功能来创建一个允许用户上传、分享和浏览图片的应用。 1. **Rails框架基础**: Rails的核心理念是DRY(Don't...

    在rails中 使用RSpec生产CHM文档

    标题 "在Rails中使用RSpec生产CHM文档" 暗示了这个话题是关于如何在Ruby on Rails(简称Rails)框架中使用RSpec测试工具来创建帮助文档,特别是以CHM(Microsoft Compiled HTML Help)格式。CHM文件是一种常见的...

    component base rails applications

    - Rails引擎是一种包含特定功能集的Rails应用,它可以被挂载到一个主应用中。 - 引擎路由(Engine Routes)定义了引擎中各个组件的路由规则,使主应用能够通过路由访问引擎的功能。 - 引擎挂载(Engine Mounting...

Global site tag (gtag.js) - Google Analytics