Как использовать рельсовые маршруты во внешних классах? - PullRequest
2 голосов
/ 27 мая 2010

Я использую креветки для создания PDF-файлов, настройка ала http://wiki.github.com/sandal/prawn/using-prawn-in-rails

Я бы хотел получить доступ к своим маршрутам, чтобы я мог генерировать ссылки в моих PDF-файлах, но теперь я не в шаблоне, как я делал с prawnto, поэтому у меня нет доступа к названным маршрутам.

class MyPdf < Prawn::Document
  def to_pdf
    text root_path
  end
end

Как я могу включить мои именованные маршруты?

Ответы [ 2 ]

1 голос
/ 21 июля 2011

Вы должны include ActionController::UrlWriter

И если вы пытаетесь использовать именованные маршруты из-за пределов среды Rails, вам следует загрузить среду, но эта загрузка будет медленной

#If Rails environment is not loaded, be sure you include config/boot.rb correctly
require File.dirname(__FILE__) + 'root_to_your_boot_rb_file'
require RAILS_ROOT + '/config/environment'

include ActionController::UrlWriter
0 голосов
/ 12 февраля 2014

Если у вас есть независимый класс в вашем приложении Rails 4, вы можете вставить в этот класс следующее:

include Rails.application.routes.url_helper
...