2010-03-11 58 views

回答

2

得到通過@ supercoco9的answear在twitter上,「如果你的中間件是在機架/ Rails堆棧,你可以直接通過AR使用模型」

+0

這樣做嗎?然後請接受 – 2012-05-30 09:00:19

0

是的,你可以從你的中間件中訪問您的AR模型。我在我的中間件中添加了byebug,並能夠訪問我的模型。

編輯: - 所以,我開始寫我的Rails應用程序中使用的Rack中間件。我嘗試在中間件中訪問我的AR模型,但其行爲非常有趣。對於全新的服務器啓動後提供的第一個請求,一切都會很好。但在那之後即傳來的任何請求導致錯誤: -

A copy of MyMiddleware has been removed from the module tree but is still active

,我停止了從中間件中訪問AR模型這個錯誤就不見了。 我剛剛開始使用Ruby/Rails,所以我不知道Ruby/Rails/Rack世界中的具體術語。但簡單地說,我只能說Rack中間件只是一種插件,可以讓任何人在任何Rack應用程序中使用。所以我們不應該依賴於我們的中間件內的一種Rails對象。

相關問題