我有一个系统,它具有一个正常工作的Web UI和一个位于/ receiver_api的API端点。用户发送由Mailgun解析的电子邮件,Mailgun然后向此端点提交POST。根据这些参数的值(可以创建新帖子,创建新的回复,添加订阅,删除订阅等),我们可能需要采取很多可能的操作,并且在编写处理程序时感觉就像我们正在做的那样一种再次路由!在routes.rb中访问POST参数
因此,我们想选择我们根据POST参数指定请求的控制器。我们正在将ReceiverApi#接收器控制器/方法定向到ReceiverApi#receiver_api,该控制器/方法从ApplicationController继承。它目前有效地将请求路由到不从ApplicationController继承的其他“假”控制器(因为从一个Rails控制器重定向到另一个不起作用)。我们希望最终路由到Rails控制器,以便我们可以使用before_filter和其他所有魔法。
无论如何,弹出的一个可能性是routes.rb中的一个方法,它访问POST params并返回应该引导到的Rails控制器/方法。 2个问题:
这可能吗?你可以在routes.rb中访问POST参数吗?
有没有更好的方法来做到这一点?我们曾想过要升级到Rack,并且可能会在某些时候做到这一点,但如果这需要一段时间,宁愿只是从门外取得一些东西。
谢谢!
感谢您的回复。我可以问为什么调用基于params的控制器是一个坏主意? – RobHeaton 2012-08-17 09:21:37
当您更改Rails的行为结构时,您违背了惯例,并且从长远来看,您的代码难以维护。 – ronalchn 2012-08-17 10:13:31
该链接不再去正确的地方 – GreenKiwi 2015-03-03 18:13:45