Я хочу хранить валюты в моих (sqlite и mysql) базах данных.Я пытаюсь использовать тип столбца decimal
, с :scale => 2
.
Это не так, как ожидалось.Если я сохраняю запись с :rate => 10.50
, она сохраняется в моей базе данных sqlite как 10.5
.Кроме того, когда я вывожу значение в поле формы, оно отображается как 10.5
.
. Я не хочу заниматься хакингом форматирования строк каждый раз, когда хочу красиво отобразить значения в формах Rails.
Есть ли способ обойти это?Это вещь sqlite?Я просто неправильно понимаю тип столбца decimal
?
Редактировать:
Чтобы уточнить, я хочу иметь возможность, поэтому используйте обычные методы генерации форм:
- form_for @project do |f|
= f.text_field :rate
Если мне нужно явно отформатировать вывод, мне придется создать дополнительные методы для каждого десятичного атрибута:
def formatted_rate
"%.2f" % rate
end
= f.text_field :formatted_rate
Существуют ли другие распространенные приемы для принудительного форматирования вывода, ивсе еще используете Rails formbuilder по умолчанию?