为什么Rails认为6,500大于10,000?

时间:2012-07-25 07:43:50

标签: ruby-on-rails

我在“结果”列中播种了一个包含四个不同值的数据库。他们应该代表美元价值,但那是无关紧要的。

10,000;  6,500; 1,000; and 0

在模型中,我创建了这个类方法

 def self.result
    order("result DESC")
  end 

在控制器中,我称之为

@decisions = Decision.result

在索引中,它按以下顺序列出它们

  6,500;  
  10,000; 
  1,000; 
   0

当我将DESC切换到ASC ....

 def self.result
    order("result ASC")
  end 

它颠倒了订单

0
1,000; 
10,000;
 6,500;  

3 个答案:

答案 0 :(得分:1)

您将数字存储为字符串。将列类型更改为DECIMAL

答案 1 :(得分:1)

您的列类型是字符串,而不是数字,它们按字符串顺序排序。

答案 2 :(得分:0)

该列的数据类型是什么?如果它是一个字符串,那么以6开头的字符串比从1

开始的字符串“更大”