Rails: конвертация валюты из формы в большой десятичный - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть form_for, в котором есть text_field, который принимает число, которое пользователь вводит в таком формате: $45,000.45.

Однако база данных сохраняет это значение BigDecimal.

Какой самый эффективный способ преобразовать это в большое десятичное число перед сохранением и отобразить его на виде как таковом?

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

В прошлом я справлялся с этим, используя вспомогательный метод Rails number_to_currency .

number_to_currency(1234567890.50)                    # => $1,234,567,890.50
number_to_currency(1234567890.506)                   # => $1,234,567,890.51
number_to_currency(1234567890.506, :precision => 3)  # => $1,234,567,890.506

Вы можете сохранить поле как обычное число, и Rails отформатирует его в $.

0 голосов
/ 05 сентября 2018

Драгоценный камень moneymoney-rails) - очень эффективный способ обработки таких сумм.

...