Плагин креветок показывает пустой PDF на сайте - PullRequest
0 голосов
/ 12 ноября 2010

Как бы странно это не звучало, код, сгенерировавший pdf с использованием Prawn gem в моей локальной версии, работал успешно, в то время как в онлайн-версии он показывает только пустую страницу pdf.Я также попытался изменить среду на «производственную» в моей локальной версии, но все еще не смог воспроизвести эту проблему.

Код, который я использую для создания этого PDF-файла:

 write_attribute(:filepath, "/reports/#{self.publisher.email}/#{Time.now.to_s(:report_filename)}.#{self.format}")
  Prawn::Document.generate(RAILS_ROOT + self.filepath) do |pdf|
    titles = self.display_titles
    items = self.display_items.map do |item|
      titles.collect { |title| item[title.gsub(' ', '')].to_s }
    end
    pdf.table items, :border_style => :grid,
      :row_colors => ["FFFFFF", "DDDDDD"],
      :headers => titles, 
      :align => self.table_aligns
  end

Может кто-нибудьпомогите, пожалуйста?

обновление 1

Запуск креветки со списком драгоценных камней в локальной версии дал мне следующее:

*** LOCAL GEMS ***

prawn (0.8.4)
prawn-core (0.8.4)
prawn-layout (0.8.4)
prawn-security (0.8.4)

При запуске в режиме онлайн дал мне:

*** REMOTE GEMS ***

prawn (0.8.4)
prawn-blank (0.0.1)
prawn-core (0.8.4)
prawn-fast-png (0.2.3)
prawn-flexible-table (0.1.2)
prawn-format (0.2.3)
prawn-graph (0.0.4)
prawn-js (0.7.1)
prawn-layout (0.8.4)
prawn-security (0.8.4)
prawn-svg (0.9.1.10)
prawn_commander (0.1.2)
prawn_rails (0.0.4)
prawnto (0.0.3)

Это вообще что-то ключ к разгадке?

Ответы [ 2 ]

0 голосов
/ 15 ноября 2010

Как указал друг, креветка не любит быть замороженной креветкой. Установите гем с помощью sudo, чтобы убедиться, что он работает.

0 голосов
/ 13 ноября 2010

Убедитесь, что вы используете ту же версию креветки локально и в производстве.

gem list prawn --local

Примечание: Вам может понадобиться проверить каталог вашего поставщика, если вы распаковали камень в любом месте.


Обновление

Есть ли ошибки в журналах на сервере?

Кроме того, проверьте еще раз, чтобы убедиться, что все драгоценные камни креветок, которые вы установили локально, были распакованы в каталог vendor. Если есть какие-либо драгоценные камни, которые не были распакованы, они будут работать локально, потому что недостающие драгоценные камни будут загружены из среды rubygems.

Я настоятельно рекомендую использовать Bundler , поскольку это помогает избежать проблем с разрешением зависимостей.

...