RAILS_ROOT больше не действителен при загрузке изображений с гемом prawnto_2
Я нахожусь в процессе обновления моего приложения с Rails 3.0 до Rails 3.1.
Я спрятал свои старые плагины в пользу драгоценных камней, где это возможно, и это включает в себя замену старого плагина prawnto этим замечательным новым блестящим гемом prawnto_2.
Большинство вещей кажется нормальным, но я не могу загрузить изображения, как раньше. Код в моем представлении PDF
pdf.image open("#{RAILS_ROOT}/public/images/logo.png")
но я получаю следующую ошибку
uninitialized constant ActionView::CompiledTemplates::RAILS_ROOT
Я понимаю, что расположение файла изображения изменится, так как я использую ресурсы, и изображение больше не сохраняется в общей папке.
1 ответ
RAILS_ROOT
находится в глобальном пространстве имен, поэтому вы должны использовать
::RAILS_ROOT
Однако это не рекомендуется, так что лучше использовать
::Rails.root
Чтобы добавить путь к этому, вы можете использовать это, которое также работает на... эээ... других операционных системах
::Rails.root.join('public','images','logo.png')