有没有办法在匹配之前重写路由(有点像 before_filter),以便我可以读取和解析请求?
例如,如果我收到这个 PUT 请求
http://localhost:3000/post
并且 aparams[:my_id]
存在(带有 value my_value
),将其重写为
http://localhost:3000/post/my_value
并因此将其与 PUT 请求的适当路由匹配。
有没有办法在匹配之前重写路由(有点像 before_filter),以便我可以读取和解析请求?
例如,如果我收到这个 PUT 请求
http://localhost:3000/post
并且 aparams[:my_id]
存在(带有 value my_value
),将其重写为
http://localhost:3000/post/my_value
并因此将其与 PUT 请求的适当路由匹配。
听起来您正在寻找一个 Rack 中间件:特别是rack-rewrite。
如果 rack-rewrite 不能为您解决这个问题,您可能需要编写自己的中间件。Rails 指南是一个很好的起点,但否则您可能需要在 Google 上搜索一下以找出您正在寻找的正确语法以及如何准确地实现您想要的。