仅当用户是专业用户时才设计公共用户页面

时间:2012-04-03 11:16:24

标签: ruby-on-rails devise

我有一个带有pro boolean column的设计用户模型。我想为每个人建立一个公共页面,但前提是用户是pro。我该如何处理它?<​​/ p>

2 个答案:

答案 0 :(得分:1)

这很简单。

首先,您需要更改user.rb模型并将新列添加到attr_accessible,因此它看起来像......

attr_accessible :email, :password, :password_confirmation, :remember_me, :pro

现在您可以使用以下语句来测试用户是否是'专家'......

if current_user.pro
    #some page display code
end

您还可以在显示公共页面的控制器中使用before_filter,您需要更多地阅读设计文档,并查看此post

答案 1 :(得分:0)

如果您构建公共页面,则可能使用User.find(params[:id])来获取用户信息。将其更改为User.where(:id => params[:id], :pro => true).first。然后检查用户是否存在或者我们只有nil。