9

アプリをRails3.0からRails3.1にアップグレード中です。

私は可能な限りgemを優先して古いプラグインをビニングしました。これには、古いprawntoプラグインをこの素敵な光沢のある新しいprawnto_2gemに置き換えることが含まれます。

ほとんどの場合は問題ないように見えますが、以前のように画像を読み込むことができません。私のPDFビューのコードは

pdf.image open("#{RAILS_ROOT}/public/images/logo.png")

しかし、次のエラーが発生します

uninitialized constant ActionView::CompiledTemplates::RAILS_ROOT

アセットを使用しているため、画像ファイルの場所が変更され、画像がパブリックフォルダーに保存されなくなったことに気付きました。

4

1 に答える 1

28

RAILS_ROOTはグローバル名前空間にあるため、を使用する必要があります

::RAILS_ROOT

ただし、これは非推奨であるため、より適切に使用してください

::Rails.root

これにパスを追加するには、これを使用できます。これは、...erm...他のオペレーティングシステムでも機能します。

::Rails.root.join('public','images','logo.png')
于 2012-02-08T11:56:01.290 に答える