2012-02-08 80 views
9

我正在將我的應用程序從Rails 3.0升級到Rails 3.1。當使用prawnto_2 gem加載圖像時RAILS_ROOT不再有效

我已經裝好我的舊插件,以便有可能的寶石,幷包括用這個不錯的閃亮的新的prawnto_2寶石替換舊的prawnto插件。

大多數事情看起來不錯,但我無法像以前一樣加載圖像。在我的PDF查看代碼是

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

,但我得到以下錯誤

uninitialized constant ActionView::CompiledTemplates::RAILS_ROOT 

我認識到圖像文件的位置將改變,因爲我使用的資產和圖像不再存儲在公用文件夾中。

回答

28

RAILS_ROOT是在全局命名空間,所以你必須使用

::RAILS_ROOT 

但是不贊成這種方式,所以最好使用

::Rails.root 

要附加到這個路徑,你可以利用這一點,這也適用於...... erm ... 其他操作系統

::Rails.root.join('public','images','logo.png') 
相關問題