0

モデルで html をレンダリングしようとしています (Mandrill インライン コード用) が、url_helpers を正しくレンダリングできないようです。

質問.haml

 %a{:href => email_question_url(question)}

model.rb

  view = ActionView::Base.new(ActionController::Base.view_paths, @email_vars)
  view.extend ApplicationHelper
  questions_html = view.render(:partial => 'transactional_mailer/questions_html')

私は理想的に実行したい:

      view.include Rails.application.routes.url_helpers

しかし、それは actioniew::base の未定義のメソッド include で爆発します

これにどのようにアプローチできるかについての提案はありますか?

4

2 に答える 2

0

インスタンス クラスを開き、その中にインスタンス メソッドを含める必要がありました。

  view = ActionView::Base.new(ActionController::Base.view_paths,{})

  class << view
    include Rails.application.routes.url_helpers
  end

  questions_html = view.render(:partial => 'transactional_mailer/questions_html')
于 2013-06-26T20:11:25.367 に答える