0

奇妙に聞こえるかもしれませんが、私のローカルバージョンでPrawn gemを使用してpdfを生成したコードは正常に機能しましたが、オンラインバージョンでは空の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

ローカルバージョンでgemlistprawnを実行すると、次のようになります。

*** 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)

それは何かの手がかりですか?

4

2 に答える 2

0

ローカルと本番環境で同じバージョンのエビを使用していることを確認してください。

gem list prawn --local

注:いずれかの場所で gem を解凍した場合は、ベンダー ディレクトリを確認する必要がある場合があります。


アップデート

サーバーのログにエラーが表示されますか?

また、ローカルにインストールしたすべての prawn gem が vendor ディレクトリに展開されていることを再確認してください。アンパックされていない gem がある場合、不足している gem は ruby​​gems 環境から読み込まれるため、それらはローカルで機能します。

依存関係の解決の問題を回避するのに役立つため、Bundlerを使用することを強くお勧めします。

于 2010-11-12T21:00:31.537 に答える
0

友人が指摘したように、エビは冷凍エビになるのが好きではありません. 確実に機能するように、sudo を使用して gem をインストールします。

于 2010-11-15T10:30:08.583 に答える