Rails日志消息:cache:[POST / action] invalidate,pass

时间:2012-05-10 16:34:31

标签: ruby-on-rails

我正在使用jruby和trinidad运行rails 3,我一直看到这些日志消息:

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

这究竟是什么意思?此外,控制器中的代码也永远不会运行。这是缓存问题吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:2)

缓存:[POST / something]无效,传递

这表示发出了POST请求,并且invalidate,pass表示缓存无法用于此类请求。您将获得无效,传递任何更改请求(POST,PUT,DELETE等)