Ответ 1
Вы можете использовать метод with_role с классом User, чтобы найти всех пользователей, у которых есть роль в версии 3.1.0.
User.with_role :admin
Как я могу получить всех пользователей с конкретной ролью при использовании команды rolify? Я пробовал следующее, но это не помогло:
User.with_role :admin
Я получаю следующую ошибку:
NoMethodError: undefined method `with_role' for #<Class:0x0000000743f9c0>
Не удалось найти способ сделать это.
Вы можете использовать метод with_role с классом User, чтобы найти всех пользователей, у которых есть роль в версии 3.1.0.
User.with_role :admin
Я бы попросил роль для него пользователей
admins = Role.find_by_name('admin').users
метод with_role предназначен для конкретного экземпляра пользователя, а не для класса для всех пользователей. Если вы хотите реализовать это, вам нужно сделать что-то вроде этого:
#not 100% on this code, haven't tested it, but you get the idea.
User < ActiveRecord::Base
def self.with_role(role)
my_role = Role.find_by_name(role)
where(:role => my_role)
end
end
Вы упомянули ресурс в моделях, чтобы разместить роли на
class User < ActiveRecord::Base
resourcify
end
С помощью этого вы можете использовать методы класса_соли и find_roles.
если вам нужен дополнительный "where"
@courriers = User.where.not(latitude: nil, longitude:nil ).with_role :Courrier