我已经搜索过了,看起来这应该很简单,但我无法让它工作。我试图在保存电话号码之前删除所有非数字字符。这是我目前拥有的:
before_save { |workorder| workorder.phonenumber =
phonenumber.to_s.gsub(/\D/, '').to_i }
所以如果用户输入
925-555-5555
它应该保存 9255555555 但它实际上只保存 925 并忽略之后的所有内容
我也试过:
before_save { |workorder| workorder.phonenumber =
phonenumber.to_s.gsub(/[^0-9]/, "").to_i }
结果相同。
解决了:
def raw_phonenumber
self.phonenumber
end
def raw_phonenumber=(s)
self.phonenumber=s.gsub(/\D/, '')
end