1

Я использую Prawn для создания PDF-файла со столом и различными денежными значениями.Как отображать денежные значения с помощью креветки в Ruby on Rails?

Все выглядит хорошо при использовании долларов или фунтов, поскольку символы валюты предшествуют денежным значениям. Все значения аккуратно выровнены вправо, как и ожидалось.

Correct

После того, как я перейти на евро, хотя, прилагаемая признаки евро появляются за пределами своих клеток, как висит в воздухе.

Wrong

Это просто вспомогательная функция, я использую для отображения цен в моих креветок документов:

def price(num) 
    @view.number_to_currency(num) 
end 

Это метод для генерации line_items:

def line_items 
    move_down 30 
    table line_item_rows do 
    row(0).font_style = :bold 
    row(0).size = 8 
    row(-1).font_style = :bold 
    cells.borders = [:bottom] 
    cells.padding = [5, 0, 5, 0] 
    cells.border_color = "000000" 
    columns(2..5).align = :right 
    column(0).width = 80 
    column(2).width = 50 
    column(3).width = 70 
    column(4).width = 60 
    column(5).width = 70 
    self.header = true 
    end 
end 

Может кто-нибудь скажет мне, как это исправить?

ответ

1

Можете ли вы показать свой код? Кажется, проблема выравнивания. Вы хотите настроить значение :at=>[row,column]. Например

pdf.draw_text "Amount : #{order.amount}", :size => 9, :at => [10,308] 
+0

Здравствуйте и спасибо за помощь. Я добавил метод 'line_items' выше. Я использую таблицу для их создания. Вы бы рекомендовали использовать 'draw_text' вместо этого? – Tintin81

+0

Привет. Я считаю, что ваша кодировка правильная. Вы также можете сделать это. Можете ли вы проверить значение своей базы данных или то, что вы показываете здесь. Потому что за доллары или фунты Preis = 100,00 (точка), но euros = 100,00 (запятая) Я предполагаю, что вы можете получить значения как 100,00 € Так что он отображает значения как есть. – Inaccessible

+0

Привет. Нет, цены хранятся как десятичные числа в базе данных, а сумма просто вычисляется путем умножения цен и количества. Я использую все эти значения во многих других местах моего приложения, и они аккуратно выровнены повсюду. Это должна быть проблема, характерная для креветки. – Tintin81

0

У меня недавно была такая же проблема с prawn 1.0.0.rc2. Он отлично работал с 1.0.0.rc1, поэтому я с понижением до 1.0.0.rc1.

Если вы в состоянии это сделать, я предлагаю также понизить рейтинг.

Надежда эта помощь

Edit:

Я открыл вопрос на GitHub о нем: https://github.com/prawnpdf/prawn/issues/499

+0

Спасибо за помощь! Я понизился до '1.0.0.rc1', но ошибка все еще существует. Что-нибудь еще, что вы сделали, чтобы исправить это? – Tintin81

+0

Ничего другого, и это работает для меня.На всякий случай, вы запустили свой сервер с 'bundle exec'? –

+0

Да, да. Он все еще не работает, хотя ... – Tintin81

0

Привет, вероятно, слишком поздно, но я имел похожую проблему с рельсов 4, и это работает для меня
<span class= "price"> <%= number_to_currency(product.price, :unit => "€") %></span>

0

Это была ошибка в креветке, которая была исправлена ​​в версии 0.13.1.

Модернизация должна решить проблему для вас, но имейте в виду, что если вы собираетесь с 0.12.0 или ранее, многое изменилось. Различия между 0,13 и текущим выпуском (0,14) значительно меньше.