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)

ビューで reject{} を使用する必要がないようにしたい

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 に答える