ruby-on-rails – 使用prawnto_2 gem加载图像时,RAILS_ROOT不再有效

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 使用prawnto_2 gem加载图像时,RAILS_ROOT不再有效前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在将我的应用程序从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

我意识到图像文件的位置会随着使用资源而改变,图像不再存储在公用文件夹中.

解决方法

RAILS_ROOT位于全局命名空间中,因此您必须使用
::RAILS_ROOT

但是这是不推荐的,所以更好的使用

::Rails.root

为了附加一个路径,你可以使用它,这也适用于… erm …其他操作系统

::Rails.root.join('public','images','logo.png')

猜你在找的Ruby相关文章