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