0
我正在创建一个应用程序,其中每个用户都可以通过某种方式创建自己的...“Universe”,其中包含对他们有意义的项目和名称数量等。多用户多环境
我从来没有这样做过,到目前为止,我有典型的情况下,你有用户和管理员,但他们都基本上看在同一件事情。这里每个用户都有独立的环境。
显然用户不应该能够看到别人的环境。
有人可以请我指出在这个问题上的正确方向?也许我可以用一些有用的宝石或资源开始?
欢迎任何建议!
我正在创建一个应用程序,其中每个用户都可以通过某种方式创建自己的...“Universe”,其中包含对他们有意义的项目和名称数量等。多用户多环境
我从来没有这样做过,到目前为止,我有典型的情况下,你有用户和管理员,但他们都基本上看在同一件事情。这里每个用户都有独立的环境。
显然用户不应该能够看到别人的环境。
有人可以请我指出在这个问题上的正确方向?也许我可以用一些有用的宝石或资源开始?
欢迎任何建议!
我首先使用插件进行身份验证,例如, AuthLogic或Devise是两个流行的例子。
这两个都可以让你定义一个User
类。
然后,当你向用户显示他们的东西在自己的环境,你可以确保你只用has_many
和has_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
而且关系将确保你只显示属于该用户的信息。 (注意:实际上关系会更复杂,你可能需要更复杂的逻辑,但这应该让你开始)
非常感谢!然而,它有道理,它不会成为一个代码消费?我的意思是,如果假设我有一个用户,我会使用模型消息。 @messages = Message.find(:all)现在,我需要去@messages = Message.where(:user => session [user_id])...?或者类似的东西? – Lievcin 2011-02-18 16:25:29