0
class House < ActiveRecord::Base
{
    attr_acccessible :title, :address
}

house.title 的值包括 5、5A、8、8/1、16 等。即有一个整数前缀主要确定排序顺序,如果它们相同,我需要使用后缀(“A”或“ /1" 等)等。如果我将标题作为字符串进行排序,则排序顺序将不正确(“16”<“8/1”)。

我可以覆盖此特定字段的比较运算符吗?我应该将它存储为两个不同的字段,但如果有的话,使用后缀显示完整的标题?前缀 0 仍然不能正确解决问题,因为后缀可以改变长度。

感谢有关正确方法的反馈。

4

1 回答 1

0

你可以像这样声明你的方法:

class House < ActiveRecord::Base
{
  attr_acccessible :title, :address 

def is_number?
  true if Float(self) rescue false
end

}

您可以使用以下方法进行检查:

is_number?(mystring)

这只是一个想法,我没有测试过。

于 2013-01-31T14:35:40.013 回答