使用prawnto_2 gem加载图像时,RAILS_ROOT不再有效
我正在将我的应用程序从Rails 3.0升级到Rails 3.1。
在可能的情况下,我已经将我的旧插件分类为有利于gem,包括用这个漂亮的新prawnto_2gem替换旧的prawnto插件。
大多数事情似乎很好,但我不能像以前一样加载图像。 我的PDF视图中的代码是
pdf.image open("#{RAILS_ROOT}/public/images/logo.png")
但是我收到以下错误
uninitialized constant ActionView::CompiledTemplates::RAILS_ROOT
我意识到图像文件的位置会随着我使用资源而改变,并且图像不再存储在公共文件夹中。
RAILS_ROOT
位于全局命名空间中,因此您必须使用
::RAILS_ROOT
但是这已被弃用,因此请更好地使用
::Rails.root
要附加到此的路径,您可以使用它,这也适用于…… 其他操作系统
::Rails.root.join('public','images','logo.png')