2

我有一个 Rails 3 应用程序,这是我想弄清楚的。

我已经有一个用户必须登录才能使用的应用程序,但他们的个人资料可供公众查看。他们个人资料的 URL 是http://myapp.com/users/username

我想在他们的设置中添加一项功能,他们可以在其中将个人资料设置为公开或私人。它已经是公开的,因为每个人都可以看到它,但是我如何允许私有功能?

基本上,我只希望这部分(http://myapp.com/users/username)能够由用户设置为私有或公共。

4

1 回答 1

1

为公共/私有布尔值添加一个新列:

rails g migration AddIs_publicToUsers is_public:boolean
rake db:migrate

在您的 view/users/show.html.erb (或您的用户页面所在的任何位置)中添加:

<% if current_user.is_public %>
  *Paste in display html/erb for your user show page.
<% else %>
  Sorry. Is Private Profile. 
<% end %>

您还必须使该属性可访问,在模型/user.rb 中用于 rails 3 及以下,或在 controller/users_controller.rb 中用于 rails 4。

导轨 3:

attr_accessible :is_public

导轨 4:

def user_params
  params.require(:user).permit(:is_public)
end
于 2013-03-25T17:20:56.680 回答