我有一个Rails 3应用程序,这是我想弄清楚的。
我已经拥有一个用户必须登录才能使用的应用,但公众可以查看他们的个人资料。其个人资料的网址为http://myapp.com/users/username
我想在他们的设置中添加一个功能,他们可以将其配置文件设置为公共或私有。它已经公开,因为每个人都可以看到它,但我如何允许私有功能?
基本上,我只希望这部分(http://myapp.com/users/username)能够由用户设置为私有或公共。
答案 0 :(得分:1)
为公共/私有布尔值添加新列:
rails g migration AddIs_publicToUsers is_public:boolean
rake db:migrate
在您的视图/ 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 %>
您还必须在models / user.rb中为rails 3及以下版本访问该属性,或在控制台/ users_controller.rb中为rails 4访问该属性。
Rails 3:
attr_accessible :is_public
Rails 4:
def user_params
params.require(:user).permit(:is_public)
end