ruby-on-rails - 从 Rails 模型渲染部分时访问 URL 助手

标签 ruby-on-rails actionmailer actionview actionviewhelper

我必须渲染一些模板并将 HTML block 发送到 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?

最佳答案

rails 5 , 很简单:

ApplicationController.render partial: 'my/partial'

它将加载您所有的助手

更多信息:https://evilmartians.com/chronicles/new-feature-in-rails-5-render-views-outside-of-actions

关于ruby-on-rails - 从 Rails 模型渲染部分时访问 URL 助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20437939/

相关文章:

ruby-on-rails - 在 RubyMine 中设置 Rails 调试

ruby-on-rails - 如何在经常更改的项目上使用stimulus和turbo_stream?

ruby-on-rails - rails 电子邮件预览/策略指令 : "style-src ' unsafe-inline'"

ruby-on-rails - 一个 Controller ,普通用户和管理员的不同 View

android - 无法单击自定义操作 View

ruby-on-rails - 如何在 Rails 3.2 中的模型中隐藏列?

javascript - 在语义 ui 搜索下拉列表中得到未定义值的列表

ruby-on-rails - RoR : Using CRON and Actionmailer to send daily email updates to all users

ruby-on-rails - Rails 内联邮件附件无法正常工作

Android:如何从图库中打开图像?