Приложение Rails 5.2 неправильно форматирует числа? - PullRequest
0 голосов
/ 09 октября 2018

Я обновил приложение Rails с Rails 3.2 до Rails 5.2, и все вроде бы хорошо, за исключением того, что числа с десятичными разрядами не сохраняются должным образом.

Мы используем запятые вместо точек надесятичные разряды, и мы ранее использовали гем delocalize, но, похоже, он не работает должным образом, и мы создали новые приложения на Rails 5.2 с нуля, и они им не нужны, поэтому я предполагаю, что что-то не так.

Ранее, используя гем delocalize, все params отображались бы как String, даже если они на самом деле bigDecimal;Затем Rails будет анализировать его в формате, используемом в БД, и сохранять его таким образом, а затем делать обратный процесс при загрузке их обратно.Однако теперь числа неправильно форматируются, как показано ниже:

Processing by Admin::AccompanimentsController#update as HTML
Parameters: {
   "utf8"=>"✓", "authenticity_token"=>"...", 
   "admin_accompaniment"=>{
   "date"=>"08/10/2018 17:44", "syrup"=>"1.200,12", 
   "observation"=>""
}, "commit"=>"Atualizar Acompanhamento", "id"=>"1047"}

В результате ...

Admin::Accompaniment Update (0.3ms)  UPDATE `accompaniments` SET 
`syrup` = 12.00, `updated_at` = '2018-10-09 18:06:49' WHERE 
`accompaniments`.`id` = 1047

I18n.locale говорит, что он правильно использует pt-BR, но это не такКажется, что он работает.

Если я использую гем delocalize и определю типы для него параметров, он будет затем правильно анализироваться, но когда данные загружаются из БД, они загружаютсяс точками вместо запятых снова.

В других приложениях Rails 5.2 обновление просто правильно анализирует число, но, похоже, это не так.Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...