Как указать десятичную точность в поле числа простых символов (Rails)

Итак, у меня есть десятичное поле с точностью 2 в базе данных, предназначенное для использования в валюте. Он отлично работает, если последнее десятичное число не заканчивается на 0, т.е. 799,90. Вместо этого разделите его на 799,9, когда он отобразится в поле. Я знаю о number_with_precision, но я не смог использовать этот вспомогательный метод с полем номера simple_form, так как он принимает только аргументы символов и html.

Я подумал, что мне нужно будет создать пользовательский ввод для расширения simple_form default number_field, но синтаксис, похоже, не задокументирован, поэтому мне не удалось выяснить, как я могу назвать number_with_precision в определении этого пользовательского ввода.

Я действительно хочу сделать то, что ОП этого вопроса Поле форматированного числа с десятичной точностью? требуется с formtastic. Спасибо!

1 ответ

Если вы можете сделать это с помощью formtastic, вы обычно можете сделать это с помощью Simple Form в моем опыте. Попробуйте следующее:

<%= f.input :sales_price, :input_html => {value: number_with_precision(f.object.sales_price, precision: 2) } %>

Если вы используете поле input_, вам не нужен :input_html:

<%= f.input_field :sales_price, value: number_with_precision(f.object.sales_price, precision: 2) %>

licensed under cc by-sa 3.0 with attribution.