我会选中一个复选框,当检查时将返回csv和html,否则返回。 我按照这个视频,让csv工作 http://railscasts.com/episodes/362-exporting-csv-and-excel?autoplay=true
现在我有一个随表单提交的check_box_tag。如果选中该复选框,则应该呈现csv。
=form_tag exams_path, method: :get do
=text_field_tag :search, params[:search]
=check_box_tag "csv"
= submit_tag "Search by id", name: nil
控制器里面有
...
params[:format] = "csv" if params[:csv]
respond_to do |format|
format.html
format.csv {render text:@exams.to_csv}
end
...
但这不起作用。
答案 0 :(得分:2)
感谢约翰,我想通了。
我需要:
request.format = :csv if params[:csv]
而不是我原来的
params[:format] = "csv" if params[:csv]
不知道改变格式是否是最好的方法,但它正是我需要的。
答案 1 :(得分:1)
你可以这样做:
if params[:csv]
render text:@exams.to_csv
else
render
end