我想如果用户输入“100,50”或“100.50”是同一件事。 100美元和50美分。
before_validation :strip_commas
def strip_commas
unless self.total_less_tax.blank?
self.total_less_tax = total_less_tax.tgsub(",", ".").to_f
end
end
但我收到此错误
NoMethodError (undefined method `gsub' for #<BigDecimal:7fc1ba371f08,'0.1E6',9(18)>):
app/models/invoice.rb:17:in `strip_commas'
app/controllers/invoices_controller.rb:35:in `update'
答案 0 :(得分:1)
你可以在字符串上调用gsub方法,但是你在Big Decimal上调用它。所以试试这个
def strip_commas
unless self.total_less_tax.blank?
self.total_less_tax = total_less_tax.to_s.gsub(",", ".").to_f
end
end