用户可以使用CSV或XLSX格式从我的Rails项目下载数据。
以下是行动:
def index
respond_to do |format|
format.xlsx { render xlsx: 'index', filename: filename_for_export(@project, export_type, :xlsx) }
format.csv { render csv: collection, filename: filename_for_export(@project, export_type, :csv) }
end
end
private
def filename_for_export(project, type, format)
"#{project.customer} - #{project.name} (#{type}, #{t 'org.name'}, #{Date.today.to_s :db}).#{format}"
end
有趣的是,当打开.csv
时,Rails似乎再次将.csv
添加到文件名(已经有格式)中。
打开.xlsx
时,这不会发生:
有趣的是,当从生成的名称中删除文件扩展名时,两者都有一个正确的扩展名,尽管XLSX现在不应该有任何扩展名(在我看来)。
答案 0 :(得分:2)
您似乎正在使用xlsx
强制render xlsx: 'index'
文件的扩展名。
如果将该行更改为render xlsx: 'index.xlsx'
,则应获得一致的行为。我想你不必再在filename_for_export
设置扩展名了。