2010-03-09 28 views
7

所以我有很多控制器和许多意见。如何使所有视图中显示的变量 - 导轨

我希望我的变量@random_quote可以在每次加载视图时进行评估。我在应用程序控制器(我认为它应该在这里?)尝试了几件事情,但他们都没有工作。

让我怎么连接这两个:@random_quote.body (in view)

@random_quote = Quote.find(:random)(在控制器吧?)

蜜蜂在我所有的应用见过?

谢谢你的回答!

回答

13

我怀疑你真的需要它在所有视图中都可以访问。但是您可以将@random_quote = Quote.find(:random)放在您的ApplicationController中使用before_filter调用的方法下。这将随处可见。

像这样:

before_filter :get_random_quote 
def get_random_quote 
    @random_quote = Quote.find(:random) 
end 
+0

是这样工作的谢谢。我也意识到我也可以把它放到应用程序控制器中(没有过滤之前)。实际上有什么区别。把它变成帮手是否更好?再次感谢! – user275447 2010-03-09 20:51:56

+0

我认为你想每页生成一次报价。如果你想每次都有新的报价,那么你不需要使用before_filter。 – 2010-03-09 22:19:58

相关问题