我正在寻找创建一个应用程序,其中每个用户可以创建自己的…“宇宙”在某种程度上,包括对它们有意义的项目和名称的数量,等等。
我以前从来没有这样做过,到目前为止,我遇到过有用户和管理员的典型案例,但他们本质上看的是同一件事。在这里,每个用户都将有一个单独的环境。
显然,用户不应该能够看到其他人的环境。
有人能在这个问题上给我指出正确的方向吗?也许一些有用的宝石或资源,我可以用来开始?
欢迎任何建议!
发布于 2011-02-19 00:19:08
我会从使用插件进行身份验证开始,例如AuthLogic或Devise是两个流行的例子。
这两种方法都允许您定义一个User类。
然后,当你向用户展示他们环境中的东西时,你可以通过使用has_many、has_one和rails中的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这些关系将确保您只显示属于该用户的信息。
(警告:实际上关系会更复杂,您可能需要更复杂的逻辑,但这应该可以让您开始)
https://stackoverflow.com/questions/5043578
复制相似问题