Ruby on rails Rails 3 CSV和XLS导出不提供文件扩展名

Ruby on rails Rails 3 CSV和XLS导出不提供文件扩展名,ruby-on-rails,csv,xls,Ruby On Rails,Csv,Xls,我的用户可以生成一些数据的报告,并决定他们想要的格式 他们可以选择HTML、CSV或XLS 这是省略了数据内容的表单,这只是格式选择器 <%= form_tag "/report", :method => :get %> Format <select id='format' name='format'> <option value='html' selected='selected'>View in browser

我的用户可以生成一些数据的报告,并决定他们想要的格式

他们可以选择HTML、CSV或XLS

这是省略了数据内容的表单,这只是格式选择器

<%= form_tag "/report", :method => :get %>
    Format <select id='format' name='format'>
                <option value='html' selected='selected'>View in browser (HTML)</option>
                <option value='csv'>Export to CSV file</option>
                <option value='xls'>Export to exel (XLS)</option>
            </select>

<%= submit_tag "Make report", :class => 'submit' %>
我有相应的视图文件

比如report.xls.erb

在我的日志中

Processing by ..Controller#report as XLS
但是,浏览器下载的文件没有扩展名

如果我将form_标记行更改为此

<%= form_tag "/report.xls", :method => :get %>
该文件的扩展名为.xls

我已经设置了xls mime_类型

如何在表单中设置格式?

这是不同的

您可以设置标题以告知文件的浏览器名称

format.xls do 响应。标题['Content-Disposition']='附件;filename='+filename+'.xls' render report.xls.erb 终止
<%= form_tag "/report.xls", :method => :get %>