2015-07-07 2 views
0

У меня есть форма рельсов, созданная с помощью simple_form и haml с использованием Angular JS-кода. Угловая выполняет свою работу и хорошо вычисляет ценности. Однако у меня проблема с отображением: я не могу отображать итоговые значения, вычисляемые угловыми и отображать их как форматированное значение в элементе управления формой.отображение форматированных чисел в рельсах simple_form с угловым js

Вот фрагмент кода представления Haml:

= f.input :total_amount, :label => 'Invoice Total', :input_html => { :readonly => true, "ng-model" => "grand_total" } 

Так form_control «TOTAL_AMOUNT» связан с «grand_total» атрибута $ за рамки Угловое.

Все работает отлично вычислительно. Однако поле ввода total_amount отображается «неформатировано», например. 1655,3456. Я бы хотел отобразить его как валюту, например, 1,655.00 долларов США.

Я не знаю, как это сделать. Я пытался использовать предложенный подход использования number_to_currency рельсов просмотра помощника, как показано ниже:

= f.input :total_amount, :label => 'Invoice Total', :input_html => { :readonly => true, "ng-model" => "grand_total", :value => number_to_currency(f.object.total_amount) } 

Но поскольку TOTAL_AMOUNT поля пустой, чтобы начать с, когда я инициализировать Rails смотреть, это не имеет никакого эффекта. Кроме того, поскольку пользователи меняют вложенные поля формы, общая сумма динамически обновляется с помощью Angular. Число обновляется отлично, но форматирование является проблемой.

Заранее благодарим за любую помощь.

ответ

0

Вы можете использовать валюту фильтр из углового https://docs.angularjs.org/api/ng/filter/currency

Поскольку вы не используете это поле в качестве входных данных, попробуйте оберточной отображаемое значение в чем-то вроде диапазона, то вы можете добавить фильтр, как этот

<span>{{total_amount | currency}}</span> 

You можно прочитать о других вариантах со ссылкой

Или вы можете использовать директивы от этого ответа https://stackoverflow.com/a/27051526/1805815

Смежные вопросы