2012-07-24 46 views
0

Rails 3.2.3Rails - 通過@@ var到視圖

我需要將類變量傳遞給視圖。出於某種原因,我無法做到這一點。

class HomeController < ApplicationController 
     @@user_id = '1343454' 
     def index 
     #....................... 
     end 
    def about 
     #....................... 
     end 
    end 

    /view/home/about.html.erb 
    <% .... 
     @@user_id is not visible 
    ... %> 

最簡單的方法是什麼?

+0

請參考這個問題: http://stackoverflow.com/questions/1575358/class-variables-in-rails-views – MurifoX 2012-07-24 19:32:15

+3

這是哈克,不是線程安全的並不推薦。請不要這樣。如果你有更好的例子說明你真的想做什麼,我們可以幫助你。 – 2012-07-24 19:32:34

+0

@ MurifoX,那個例子很複雜。有沒有更簡單的方法? – Alexandre 2012-07-24 19:36:42

回答

1

請不要使用@@

在你application controller您可以定義:

def current_user 
    @current_user.id = '1343454' 
end 
helper_method :current_user 

的輔助方法,將在應用程序中的任何控制器或視圖中可用的current_user

我相信'1343454'就是一個例子。通常我們有類似:

@current_user ||= User.find(session[:user_id]) if session[:user_id]