我有一個系統,它具有一個正常工作的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