after_filter:foo foo在rails 3.2中的控制器之前运行

时间:2012-04-22 22:58:29

标签: ruby-on-rails ruby-on-rails-3

我必须在这里做错事。我想在控制器运行后运行一个函数。此函数填充我的会话变量的某些部分,然后我在下一个请求中使用该信息。这是代码。

class SummariesController < ApplicationController  
    after_filter :foo, :only=>[:bar]  

    def foo  
        session[:x] = y  
    end  

    def bar  
        #some code  
    end  
end  

在此代码foo之前调用bar。我希望在渲染条形图后调用它。我做错了什么?

1 个答案:

答案 0 :(得分:1)

在将响应发送到客户端之前执行

after_filter,因此在呈现bar之后将无法运行此命令。来自Rails指南:

  

他们可以访问即将发送到客户端的响应数据