ruby on rails -检查是否返回csv



我将一个复选框,当检查将返回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
...

多亏了John,我才弄明白了。

我需要

:

request.format = :csv if params[:csv]

而不是原来的

params[:format] = "csv" if params[:csv]

我不知道改变格式是不是最好的办法,但这正是我需要的。

你可以这样做:

if params[:csv]
  render text:@exams.to_csv
else
  render
end

相关内容

  • 没有找到相关文章

最新更新