在我的一个控制器操作结束时,我需要重定向到只接受put请求的页面.我一直试图弄清楚如何让redirect_to使用put请求但没有成功.
这可能吗?或者还有另一种方法来实现这一目标吗?
我不认为你能做到这一点,我怀疑这个限制是HTTP本身的一部分.
使用redirect_to时 - 除非参数中另有指定,否则重定向将作为"302 Moved"标头发生.
看一下HTTP Spec本身并没有透露任何改变浏览器通过重定向发出的请求类型的方法.
HTTP重定向:
此类状态代码指示用户代理需要采取进一步操作才能完成请求.当且仅当第二个请求中使用的方法是GET或HEAD时,所需的操作可以由用户代理执行而不与用户交互.
我认为您可能需要使用JavaScript来实现此功能,或者可能需要重新考虑应用程序中的控制流.