首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ApplicationController.renderer.render无法在Ruby on Rails中找到分词

ApplicationController.renderer.render无法在Ruby on Rails中找到分词
EN

Stack Overflow用户
提问于 2019-05-13 22:07:29
回答 1查看 518关注 0票数 1

我需要在SQL查询完成后呈现一个Excel模板。SQL需要3-4分钟才能完成。因此,我在ActiveJob中实现了SQL执行和excel模板渲染。

我将模板命名为my_template,如下所示:

代码语言:javascript
复制
class RefreshReportDataJob < ApplicationJob
  include SuckerPunch::Job
  queue_as :default

  def perform
    # <- Run a SQL first here ->

    # After SQL above is complete, render an Excel template
    ApplicationController.renderer.render(
    :file => 'my_controller/my_template', :formats => [:xlsx, :html]
    )
  end

此模板存在于views/my_controller/中。此模板呈现3个部分_my_partial1, _my_partial2, _my_partial3 -所有这些部分也存在于与my_template -> views/my_controller相同的文件夹中。

在渲染my_template时,我得到了这个错误:

代码语言:javascript
复制
ActionView::Template::Error Missing partial application/_my_partial1.xlsx.axlsx with {:locale=>[:en], :formats=>[:xlsx, :html, :text, :js, :css, :ics, :csv, :vcf, :png, :jpeg, :gif, :bmp, :tiff, :svg, :mpeg, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json, :pdf, :zip, :gzip], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :jbuilder, :axlsx]}. Searched in:
  * "/home/ubuntu/workspace/rails/Mailer/my_app/app/views"

如果Rails能够定位my_template,为什么它不能定位同一文件夹中的部分my_partial1呢?请帮帮我!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-13 22:33:23

问题是您调用的是ApplicationController.render。这将导致Rails在application/_your_partial中查找模板。

您必须将对render的调用更改为指向相应的控制器/视图模板。

因此,如果您的模板是app/views/my_controller/_my_partial格式的,则需要调用MyController.renderer.render(...)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56114110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档