2015-04-27 4 views
0

Организация может иметь несколько членов, а член принадлежит к одной организации. Член может быть администратором или нет.Как подсчитать количество экземпляров в db, которые имеют обе характеристики

Администратор должен удаляться только в том случае, если организация имеет 2 члена администратора или более. Этого я хотел бы достичь с помощью утверждения if.

Как Ruby может подсчитать количество членов организации, имеющей админ-характеристику? Теперь у меня есть:

<% if (member.admin && @organization.members.admin.count < 2) %> 

Это выдает сообщение об ошибке:

undefined method 'admin' 

Это вторая часть после &&, который не работает. Если я удалю эту часть, это не приведет к ошибкам.

Учитывая, что @organization.members.count - это то, что вычисляет количество членов организации, я думал, что @organization.members.admin.count может рассчитать количество членов этой организации с admin = true. Это неверно. Но тогда как должен Я считаю, что количество участников?

+0

сообщение схемы БД для таблицы пользователей, или объяснить нам, как администратор определяется в модели. –

ответ

2

Просто добавьте сферу администратора для вашей Member модели:

class Member < ActiveRecord::Base 
    scope :admin, -> { where(admin: true) } 
end 
+0

Спасибо, добавив, что к модели Ruby действительно может выполнить '@organization.members.admin.count ' – Nick