多用户多环境

时间:2011-02-18 16:04:38

标签: ruby-on-rails ruby-on-rails-3

我正在寻找创建一个应用程序,每个用户都可以创建自己的......“Universe”,其中包含对他们有意义的项目和名称等等。

我以前从未这样做过,到目前为止,我已经遇到了有用户和管理员的典型案例,但他们看起来基本上都是同一件事。这里每个用户都有一个单独的环境。

显然用户不应该看到别人的环境。

有人可以指出我在这个问题上的正确方向吗?也许我可以用一些有用的宝石或资源来开始?

欢迎任何建议!

1 个答案:

答案 0 :(得分:1)

我首先使用插件进行身份验证,例如AuthLogicDevise是两个受欢迎的例子。

这两个版本都允许您定义User类。

然后,当您向用户展示他们在环境中的内容时,您可以确保只使用has_manyhas_one以及has_and_belongs_to_many关系向他们展示自己的内容在rails。

e.g。如果是Facebook,你可能会有这样的东西

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

在您的代码中,您可以参考

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

这种关系将确保您只显示属于该用户的信息。

(警告:实际上关系会更复杂,你可能需要更复杂的逻辑,但这应该让你开始)