1
該標題並沒有真正解釋所有的事情。我有兩個共享一些功能的Rails引擎(即用戶模型和認證)。我有一個基User
類,然後其他兩個用戶類從該基類繼承爲每個應用,像這樣:如何獲取Ruby中的當前實例模塊
class User; end
class App1::User < ::User; end
class App2::User < ::User; end
我認證具有被包括類似於下面
def user_from_session
User.find_by_id(session[:user_id])
end
的方法在我的application_controller。我的問題是,當用戶被提取時...它總是使用基類User
類。我真正想要的是能夠獲取與調用該方法的應用程序類型相同的用戶。
舉例來說,如果用戶是在SomeController
:
class App1::SomeController < ApplicationController; end
我想在application_controller方法拔出App1
使其實例化一個App1::User
,而不僅僅是一個User
這是可能?
我不是在尋找一種解決方案,涉及兩個user_from_session
方法,每個應用程序一個。我知道如何實現這一點。我更感興趣知道這種類型的事情在Ruby中是否可行。
你在哪裏調用從`user_from_session`方法? – 2011-01-11 07:40:52
啊對不起,它是從application_controller中的before_filter調用的......它實際上是從我的`current_user`方法裏面調用的 – brad 2011-01-11 12:27:29