Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 是否可以使用机架重写来重写POST请求?_Ruby On Rails_Rack Rewrite - Fatal编程技术网

Ruby on rails 是否可以使用机架重写来重写POST请求?

Ruby on rails 是否可以使用机架重写来重写POST请求?,ruby-on-rails,rack-rewrite,Ruby On Rails,Rack Rewrite,就这样。我只需要重定向POST请求。比如: rewrite /.*/, '/universal_POST_handler', :if => (something_cool_goes_here) 有可能吗?在具有路由的应用程序中,重写器的目的是将旧URL重写为更当前的URL。遗留URL是受支持的URL,外部用户已开始依赖这些URL,但由于应用程序的体系结构已更改,这些URL不再受支持 你应该改用路由器 post '*path' => 'actions#universal', :c

就这样。我只需要重定向POST请求。比如:

rewrite /.*/, '/universal_POST_handler', :if => (something_cool_goes_here)

有可能吗?

在具有路由的应用程序中,重写器的目的是将旧URL重写为更当前的URL。遗留URL是受支持的URL,外部用户已开始依赖这些URL,但由于应用程序的体系结构已更改,这些URL不再受支持

你应该改用路由器

post '*path' => 'actions#universal',
  :constraints => FancyConstraint.new
从:

使用
:method
选项,可以通过给定请求的HTTP方法限制规则的匹配

重定向是单向的
r301”/players“,/current\u players“,:method=>:get

并以另一种方式重定向帖子
r302”/players“,“/no\u more\u available.html?message=no&more&supported”,:method=>:post