2011-03-01 56 views
0

我正在使用Ruby on Rails 3,我想知道使用中間件處理HTTP請求(截取請求URL請求和執行響應)與控制器流量(使用respond_to)。使用中間件和控制器處理HTTP請求的差異

檢查日誌文件,我可以看到中間件加載和查詢,就像調用控制器方法一樣。這是因爲,在後一種情況下(呼叫控制器),如果HTTP請求用於JSON數據,則RoR不會呈現模板文件(它是「自動進程」?!)。

那麼,你怎麼看?

回答

0

一個最大的優勢,使用Rack中間件的是,你可以過濾響應 - e.g,修改它以某種方式然後讓它走正常路線。在標準Rails 3應用程序中查看rake middleware,查看Rails用於執行會話,閃存存儲以及根據您的應用程序自己的routes.rb進行路由的所有中間件堆棧。當然,如果有必要,中間件也可以終止響應過濾並充當請求端點。

與中間件類似,但作爲端點的特性是Rails Metal,如果需要(假設您不需要完整的Rails堆棧),您可以從應用中獲得額外的性能。

我建議你看看下面的Railscasts: