2010-03-09 27 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

相關問題