いくつかのテンプレートをレンダリングし、HTML ブロックを SendGrid に送信して電子メールで代用する必要があります。残念ながら、私は次のようなモデルでいくつかのレンダリングを行っています:
view = ActionView::Base.new(Rails.configuration.paths["app/views"].first)
view.render(:partial => template_name)
私が追加したとしても:
view.extend Rails.application.routes.url_helpers
view.extend ActionView::Helpers::UrlHelper
view.extend ApplicationHelper
次のようにモジュールを明示的に定義しない限り、パーシャルは url_for のような URL ヘルパーにアクセスできません。
Rails.application.routes.url_helpers.edit_user_url(user, :host => Rails.application.config.action_mailer.default_url_options[:host])
モデルから呼び出されたテンプレートで URL Helper を使用するよりクリーンな方法はありますか?