【发布时间】:2013-03-25 03:47:36
【问题描述】:
我有一个 Rails 3 应用程序,这是我正在尝试解决的问题。
我已经有一个用户必须登录才能使用的应用,但公众可以查看他们的个人资料。他们个人资料的网址是http://myapp.com/users/username
我想在他们的设置中添加一项功能,他们可以将他们的个人资料设置为公开或私人。它已经是公开的,因为每个人都可以看到它,但是我如何允许私有功能?
基本上,我只是希望这部分 (http://myapp.com/users/username) 能够由用户设置为私有或公共。
【问题讨论】:
-
那么您想要某种包含他们信息的“我的帐户”页面吗?
-
“私人”是什么意思?当有人试图访问私人页面时,具体来说应该发生什么?格式正确的错误页面? HTTP 404? 403? 401?一般来说,在数据库中保存一个变量,当有人试图访问 URL 时,检查数据库并发送适当的响应。
-
不,他们已经有个人资料在链接myapp.com/users/username 中显示他们的帖子。即使没有登录,每个人都可以查看它,所以我想允许用户选择将他们的个人资料设置为私人。当它设置为私有并且有人试图访问它时,它会显示说(“您尚未登录。请在此处登录。”)
-
然后在您的个人资料的控制器中添加类似
redirect_to :action => "show" unless currect_user.logged?的smth。 -
正如@Phrogz 已经建议的那样,您将使用布尔值
public_profile字段扩展User表。
标签: ruby-on-rails ruby authentication user-defined-functions