2012-03-02 102 views
0

我想渲染一个视图,同时执行的动作也是如此。基本上我有一些“即将到来的预订”,需要在每一页上显示。它快速查看即将发生的事情,以便用户可以全面了解正在发生的事情。渲染控制器动作

我原本计划做的是为这个特定的动作制作一个缓存机制,所以当我渲染它时,最有可能在布局中,那么它会很快。

这可能吗?看起来渲染模板和渲染部分不会调用这个动作,这意味着该视图中可访问的实例变量不可用,或者他们根本就没有做我想做的事。

回答

2

嗯,如果我明白你的问题,我想你想用before_filter。 A before_filter是在注册before_filter的任何控制器或其任何后代的每个操作之前运行的回调。

如果您确实需要在任何控制器的任何操作之前调用的函数,那么我建议您执行此操作的方法是在ApplicationController中,那么它将在任何继承自ActionController的控制器上的任何操作中执行。

class ApplicationController < ActionController::Base 
    before_filter :do_something 

    def do_something 
    WHATEVER IT IS YOU WANT TO DO INCLUDING SETTING INSTANCE VARIABLES 
    end 
end 

那么你可以保证do_something将在任何行动之前被调用。

希望这会有所帮助。

+0

这是我在其他框架中所做的,只是我不知道如何在rails中执行此操作。会尝试一下。 – Kezzer 2012-03-02 21:58:12