2010-11-06 27 views
-1

我需要在我的模型中查找當前登錄的用戶。設置用於查找當前用戶的類變量

我定義cattr_accessorcurrent_logged_inUser模型。

現在,當用戶登錄時,我設置了User.current_logged_in = current_user.id

後來,在其他模型中,我使用User.current_logged_in_user訪問變量。到現在爲止它的工作。

這是否是正確的方法來實現這一點?

回答

0

一個很好的實現方法,除非你只是做你的代碼,因爲學習練習是使用像devise這樣的插件。

也就是說,你應該避免訪問模型中的current_user。 current_user是一個會話事物,不應該綁定到模型。而是將current_user作爲參數傳遞給模型中的方法。例如:

def can_delete_item(user) 
    if user.is_admin? 
    .... 
    else 
    ..... 
    end 
    ..... 
end 
+0

我已經有一個rails應用程序。需要重寫它以使它成爲多租戶。因此,我想到了這個問題,將current_user_id與我保存的所有數據一起插入。因此,我可以知道哪些數據屬於哪個租戶。我只是想保存重寫所有的.create和.new方法,以在我的控制器中包含(:tenant_id => current_tenant_id)。 – srih4ri 2010-11-06 07:43:28