Ruby on Rails无法通过特定参数查找记录

时间:2019-06-14 09:13:16

标签: ruby-on-rails

我正在开发财务系统管理,奇怪的是我无法通过唯一的特定参数在数据库中找到记录。

我已经尝试通过其他参数查找相同的记录,但得到结果,但是如果我尝试通过特定参数查找,则得到“ nil”结果。

我得到的一些结果。

当我在数据库中运行搜索时,我得到了:

Trade.all
#<ActiveRecord::Relation [#<Trade id: 199, trade_value: 73.09, profit: 88.0, result: false, result_balance: nil, account_id: 83, user_id: 158, created_at: "2019-06-14 08:50:08", updated_at: "2019-06-14 08:50:08">]>

我在参数上得到了

 trade_params
{:trade_value=>"73.09", :profit=>88, :result=>false, :result_balance=>nil, :account_id=>83}

所以,到目前为止一切都很好。但是当我尝试使用find_by trade_value参数时,总是得到零结果

Trade.find_by(trade_value: "73.09")
nil
Trade.find_by(trade_value: 73.09)
nil
Trade.find_by(trade_value: trade_params[:trade_value])
nil

但是当我尝试通过另一个参数查找时,我得到了预期的结果

Trade.find_by(profit: trade_params[:profit])
#<Trade id: 199, trade_value: 73.09, profit: 88.0, result: false, result_balance: nil, account_id: 83, user_id: 158, created_at: "2019-06-14 08:50:08", updated_at: "2019-06-14 08:50:08">

因此,当我通过trade_value参数进行搜索时,我希望得到一个有效的结果。

有人知道如何解决吗?

谢谢!

编辑:@AbM答案对我有所帮助。参考:how to find float values in mysql database with rails

0 个答案:

没有答案