2011-02-18 139 views
0

我正在創建一個應用程序,其中每個用戶都可以通過某種方式創建自己的...「Universe」,其中包含對他們有意義的項目和名稱數量等。多用戶多環境

我從來沒有這樣做過,到目前爲止,我有典型的情況下,你有用戶和管理員,但他們都基本上看在同一件事情。這裏每個用戶都有獨立的環境。

顯然用戶不應該能夠看到別人的環境。

有人可以請我指出在這個問題上的正確方向?也許我可以用一些有用的寶石或資源開始?

歡迎任何建議!

回答

1

我首先使用插件進行身份驗證,例如, AuthLogicDevise是兩個流行的例子。

這兩個都可以讓你定義一個User類。

然後,當你向用戶顯示他們的東西在自己的環境,你可以確保你只用has_manyhas_one,並在軌道has_and_belongs_to_many關係,告訴他們自己的東西。

例如如果它是Facebook的,你可能有這樣的事情

Class User < ActiveRecord::Base 
    has_many :news_items 
    has_many :friends 
    has_many :messages 
end 

在你的代碼,那麼你可以參考

@user.news_items 
@user.friends 
@user.messages 

而且關係將確保你只顯示屬於該用戶的信息。 (注意:實際上關係會更復雜,你可能需要更復雜的邏輯,但這應該讓你開始)

+0

非常感謝!然而,它有道理,它不會成爲一個代碼消費?我的意思是,如果假設我有一個用戶,我會使用模型消息。 @messages = Message.find(:all)現在,我需要去@messages = Message.where(:user => session [user_id])...?或者類似的東西? – Lievcin 2011-02-18 16:25:29