我正在做一些控制器来呈现报告,这是我的问题:
用户打开一个带有表单的页面,可以更改下载格式和报告的日期。
下载格式通过选择输入设置。
当用户按下按钮时,我想根据所选格式做出响应。
问题是它是通过 url 指定的。所以尝试做类似的事情:
case format
when "xlsx" then format.xlsx{...}
when "html" then format.html{...}
...
end
不起作用,因为 rails 或浏览器(我不确定)需要 html 响应。
我有两个选择:
更改表单的 url,
onsubmit
使应用程序更加依赖于 javascript。或者。redirect_to url + ".#{params[:download_format]}"
第二种方法对我来说看起来更好,但我需要:report_date
在 url 中传递,但我找不到这样做的方法。
我试过这个:
url = my_custom_url_path
redirect_to url + ".#{params[:download_format]}", :date_format => params[:date_format]
但它不起作用。