我有一个系统,其 Web UI 可以正常工作,API 端点位于 /receiver_api。用户发送由 Mailgun 解析的电子邮件,然后 Mailgun 将 POST 提交到此端点。根据这些参数的值(创建新帖子、创建新回复、添加订阅、删除订阅等),我们可能想要采取很多可能的操作,并且在编写处理程序时感觉就像我们在做又是一种路由!
因此,我们想根据 POST 参数选择将请求定向到的控制器。我们现在将 /receiver_api 指向一个 ReceiverApi#receiver 控制器/方法,它继承自 ApplicationController。它目前有效地将请求路由到其他不继承自 ApplicationController 的“假”控制器(因为从一个 Rails 控制器重定向到另一个控制器不起作用)。我们希望最终路由到 Rails 控制器,这样我们就可以使用 before_filter 和其中的所有其他魔法。
无论如何,一种可能会浮现在脑海中的是 routes.rb 中的一个方法,它访问 POST 参数并返回应该被定向到的 Rails 控制器/方法。2个问题:
这可能吗?您可以访问 routes.rb 中的 POST 参数吗?
有没有更好的方法来做到这一点?我们曾考虑过将级别提升到 Rack,并且可能会在某个时候这样做,但如果这需要一段时间,我们宁愿把一些东西拿出来。
谢谢!