ransack を使用して製品のリストをフィルタリングしています。現在の選択を再利用して、代わりに Excel ファイルを返すようにしたい (そのため、同じページに「フィルター処理された製品を Excel としてダウンロードする」リンクを配置することができます)、またはフィルター処理された結果に対して削除を実行します。たとえば、呼び出された URL は次のようになります。
http://localhost:3000/products?utf8=%E2%9C%93&q%5Bstatusowner_id_or_client_producer_id_eq%5D=&q%5Bkind_eq%5D=&q%5Bstatus_eq%5D=9&commit=Select
Excel を返す最も簡単な方法は、同じパラメーターを渡すことです。製品の最後に .xls のみを追加して同じ URL を渡すことです。
http://localhost:3000/products.xls?utf8=%E2%9C%93&q%5Bstatusowner_id_or_client_producer_id_eq%5D=&q%5Bkind_eq%5D=&q%5Bstatus_eq%5D=9&commit=Select
ビューで現在の URL を再利用して新しい URL を作成するにはどうすればよいですか?
次に、一括削除について: これまで RESTful ルートしか使用していないため、それを処理する方法がわかりません。上記のアイデアに従って、URL を再利用し、(まだ定義されていません??) 一括削除アクションに送信するとします。可能な限りRESTfulにルーティングするにはどうすればよいですか? メソッドを追加するだけです: :delete? そして、コントローラーのどこにそれをルーティングしますか?
少し途方に暮れています。