2011-02-18 5 views
0

각 사용자가 자신 만의 고유 한 ... "유니버스"를 만들 수있는 앱을 만들고 싶습니다. 항목 및 이름의 양이 합당한 등다중 사용자 다중 환경

나는 전에 이것을 해 본 적이 없지만 사용자와 관리자가있는 전형적인 경우를 보았지만 둘 다 본질적으로 똑같습니다. 여기서 각 사용자는 별도의 환경을 갖게됩니다.

분명히 사용자는 다른 사람의 환경을 볼 수 없어야합니다.

누군가이 주제에 대해 올바른 방향을 가르쳐 주시겠습니까? 아마 내가 시작할 수있는 유용한 보석이나 자원일까요?

어떤 조언을 환영합니다!

답변

1

인증을 위해 플러그인을 사용하는 것으로 시작하겠습니다. AuthLogic 또는 Devise이 두 가지 인기있는 예입니다.

둘 다 User 클래스를 정의 할 수 있습니다.

그런 다음 자신의 환경에 자신의 콘텐츠를 표시 할 때 has_manyhas_onehas_and_belongs_to_many 관계의 레일을 사용하여 자신의 콘텐츠 만 표시하도록 할 수 있습니다.

이 페이스 북을 있다면, 당신은 당신이 다음

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

를 참조 할 수 코드에서이

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

같은 것을 가질 수와의 관계는 해당 사용자에 속하는 정보를 표시하고 확인합니다.

(경고 : 현실에서의 관계가 더 복잡 될 것입니다, 당신은 아마 더 복잡한 논리가 필요합니다, 그러나 이것은 당신이 시작 얻어야한다)

+0

감사합니다 많이! 그러나 그것은 의미없는 것이지만, 이것은 약간의 코드가 낭비되지 않는가? 내 말은, 한 명의 사용자가 있다고 가정하면 Model Message로 작업하게 될 것입니다. @messages = Message.where (: all) 이제 모든 비트에서 @messages = Message.where (: user => session [user_id]) ... 가야겠습니까? 아니면 이런 식으로? – Lievcin

+0

아니요, 사용자와 메시지간에 has_many 관계가있는 경우 @ user.messages를 직접 수행 할 수 있습니다. 메시지 클래스에서 찾기를 수행 할 필요가 없습니다. – DanSingerman