我正在寻找创建一个应用程序,每个用户都可以创建自己的......“Universe”,其中包含对他们有意义的项目和名称等等。
我以前从未这样做过,到目前为止,我已经遇到了有用户和管理员的典型案例,但他们看起来基本上都是同一件事。这里每个用户都有一个单独的环境。
显然用户不应该看到别人的环境。
有人可以指出我在这个问题上的正确方向吗?也许我可以用一些有用的宝石或资源来开始?
欢迎任何建议!
答案 0 :(得分:1)
我首先使用插件进行身份验证,例如AuthLogic或Devise是两个受欢迎的例子。
这两个版本都允许您定义User
类。
然后,当您向用户展示他们在环境中的内容时,您可以确保只使用has_many
和has_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
这种关系将确保您只显示属于该用户的信息。
(警告:实际上关系会更复杂,你可能需要更复杂的逻辑,但这应该让你开始)