我正在尝试渲染一个 xlsx
文件。但我不断收到 406/UnknowFormat
。我已经完成了正确的设置,也许我遗漏了什么?
Rails 4.2 应用
gem 'axlsx'
gem "axlsx_rails"
gem 'zip-zip'
配置/初始化程序/mime
Mime::Type.register "应用程序/xlsx", :xlsx
Controller
respond_to do |format|
format.xlsx { render xlsx: "create", template: "api/reports/create" }
end
views/api/reports/create.xlsx.axlsx
wb = xlsx_package.workbook
wb.add_worksheet(name: "Reports") do |sheet|
sheet.add_row [@report_name]
end
最佳答案
对我来说,在 Rails 4.2 中,我必须指定完整的模板文件名,包括扩展名。根据axlsx_rails docs Rails 4.2 中的语法有所不同。这是对我有用的:
some_controller.rb
def create_report
render "template_path/report.xlsx.axlsx"
end
template_path/report.xlsx.axlsx
wb = xlsx_package.workbook
wb.add_worksheet(:name => "Basic Worksheet") do |sheet|
sheet.add_row ["First Column", "Second", "Third"]
end
关于ruby-on-rails - Rails ActionController 未知格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33414746/