Ruby on rails Axlsx Rails gem无法正常工作,显示缺少的模板

Ruby on rails Axlsx Rails gem无法正常工作,显示缺少的模板,ruby-on-rails,xlsx,axlsx,Ruby On Rails,Xlsx,Axlsx,我有一个这样的链接 <%= link_to "download file", import_horse_report_horses_path(format: 'xlsx') %> 对于此操作,我有此模板import\u horse\u report.xlsx.axlsx wb = xlsx_package.workbook wb.add_worksheet(name: "Horses") do |sheet| @horses.each do |horse| sheet.

我有一个这样的链接

<%= link_to "download file", import_horse_report_horses_path(format: 'xlsx') %>
对于此操作,我有此模板import\u horse\u report.xlsx.axlsx

wb = xlsx_package.workbook
wb.add_worksheet(name: "Horses") do |sheet|
  @horses.each do |horse|
    sheet.add_row [horse.breed, horse.date_of_birth, horse.gender]
  end
end
我正在使用axlsx_rails gem并遵循其文档。但是我得到了这个错误

Missing template horses/import_horse_report, application/import_horse_report with {:locale=>[:en], :formats=>[:xlsx], :handlers=>[:erb, :builder, :coffee, :rabl]}

我如何解决这个问题?

您可以通过更改

format.xlsx{ }

参考:

尝试显式呈现语句:

format.xlsx { render xlsx: 'import_horse_report' }
如果在调用
/horses/import\u horse\u report
时不带尾随的
.xlsx
,则渲染语句将不会执行,除非在路由文件中强制使用
:xlsx
格式。如果要保留
respond_to
块,请更改url。否则,您可以删除
respond_to
块以获得一个简单的
render:xlsx
语句(前提是您永远不会提供任何其他内容)。

我使用

render xlsx: "import_horse_report" 

而不是你的回应。这可能是一个选项,具体取决于您的情况。

您在哪里保存了此
import\u horse\u report.xlsx.axlsx
模板?path?在同一个目录中,此控制器HOME/HORSECUNT/app/views/HORSSLOOKS的其他操作的视图是正确的,我想您必须将此
format.xlsx{}
更正为
format.xlsx
这也不起作用。有一种非常简单的可能性。您正在调用
/horses/import\u horse\u report.xlsx
还是
/horses/import\u horse\u report
?如果是后者,则在不使用
路由
强制格式化的情况下,将无法找到模板。
format.xlsx { render xlsx: 'import_horse_report' }
render xlsx: "import_horse_report"