0

我的成员模型中有一个方法来确定成员是否是管理员:

  def is_admin?; self.member_role.admin == true; end

如何在我的控制器中使用它来查找所有不是管理员的用户?

我的控制器已经很紧凑了:

    @names = Member.where("fullname LIKE ?", "#{params[:letter]}%").order("fullname ASC").page(params[:page]).per(18)

我不想在我的视图中使用拒绝{}

4

2 回答 2

2

您可以在模型中创建一个范围,例如:

scope :non_admins, where(:admin => false)

在你的控制器中:

@names = Member.where("fullname LIKE ?", "#{params[:letter]}%").non_admins.order("fullname ASC").page(params[:page]).per(18)
于 2012-05-23T18:17:18.760 回答
0

最好的方法——在你的模型中使用范围Ruby 指南——范围

将您的过滤器和订单放在范围声明中并在控制器中使用范围

于 2012-05-23T18:11:43.257 回答