2

そうでない場合、チェックすると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
...

しかし、これは機能しません。

4

2 に答える 2

2

ジョンのおかげでわかりました。

私は欲しい:

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

私のオリジナルの代わりに

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

フォーマットを変更することが最善の方法かどうかはわかりませんが、それは私が必要としていることです。

于 2012-12-26T21:57:32.657 に答える
1

これを行うことができます:

if params[:csv]
  render text:@exams.to_csv
else
  render
end
于 2012-12-26T22:14:32.297 に答える