2012-05-10 57 views
8

我正在使用JRuby和特立尼達軌3,和我一直看到這些日誌消息:Rails日誌消息:緩存:POST /動作]無效,通過

INFO http-bio-3001-exec-15 jruby.rack - cache: [POST /something] invalidate, pass 

究竟是什麼意思?此外,控制器中的代碼也永遠不會運行。這是緩存問題嗎?

回答

3

每當Rails收到一個POST請求時,它會執行一些安全檢查以確保請求是「有效的」。通過解析CSRF真實性標記來執行檢查,這些標記必須與POST請求中的表單一起提交。

如果你不能夠編輯發出請求到您的Rails應用程序的形式,可以跳過控制器,由控制器基礎檢查:

class Foo < ApplicationController 
    skip_before_filter :verify_authenticity_token 

,或者您也可以選擇具體的方法做這樣的控制器:

class Foo < ApplicationController 
    skip_before_filter :verify_authenticity_token, :only => [:create] 

你可以閱讀一下here

2

緩存:POST /某事]無效,通過

這就是說POST請求已經發出並且invalidate,pass意味着緩存不能用於這種類型的請求。你會得到無效的,通過任何更改請求(POST,PUT,DELETE等)