渲染控制器动作

时间:2012-03-02 21:52:11

标签: ruby-on-rails

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

我计划做的是为该特定操作设置一个缓存机制,因此当我渲染它时,很可能在布局中,那么它会很快。

这可能吗?似乎渲染模板和渲染部分不调用动作,这意味着在该视图中可访问的实例变量不可用,或者它们根本不执行我想要的操作。

1 个答案:

答案 0 :(得分:2)

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

如果您真的想在任何控制器的任何操作之前调用一个函数,那么我建议这样做的方式是ApplicationController,那么它将在任何继承自{{ActionController的控制器上的任何操作上执行。 1}}。

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

希望这有帮助。