【发布时间】:2015-03-02 16:09:04
【问题描述】:
我可以很好地创建 xl 和 csv 文件格式,并希望在表单中为它们创建下载链接。
用户可以使用此表单生成对记录的搜索
=simple_form_for :guestlist_booking_search, controller: 'guestlist_bookings_controller', action: 'index', method: :get do |f|
%fieldset
%legend Guestlist Booking Search
= f.input :lastname
= f.input :start, as: :string, class: "form-control auto_picker1", :input_html => { :class => 'auto_picker1', value: guestlist_booking_search.start.strftime('%d-%m-%Y %H:%M') }
= f.input :finish, as: :string, class: "form-control auto_picker2", :input_html => { :class => 'auto_picker2', value: guestlist_booking_search.finish.strftime('%d-%m-%Y %H:%M') }
= f.submit "Submit"
= f.submit "Download CSV", name: "download_csv"
所以表单有两个提交按钮,我想要一个处理搜索并显示结果,另一个处理搜索并开始下载 csv 文件。
所以在我的索引操作中我有这个
def index
if params[:download_csv]
respond_to do |format|
format.html
format.csv { send_data @guestlist_bookings.to_csv }
end
end
end
guestlist_bookings 变量设置在 before 块中(生成和显示搜索工作正常)。
我似乎无法解决的是如何让文件开始下载。目前没有来自 .xls 块的响应。据我所知,“send_data”函数是用来从控制器开始下载的。
【问题讨论】:
-
您谈论的是 .xls 块,但您的问题中只有 html 和 csv。
标签: ruby-on-rails ruby excel csv