使用 rolify 时如何获取具有特定角色的所有用户?我尝试了以下方法,但没有帮助:
User.with_role :admin
我收到以下错误:
NoMethodError: undefined method `with_role' for #<Class:0x0000000743f9c0>
找不到任何方法来做到这一点。
使用 rolify 时如何获取具有特定角色的所有用户?我尝试了以下方法,但没有帮助:
User.with_role :admin
我收到以下错误:
NoMethodError: undefined method `with_role' for #<Class:0x0000000743f9c0>
找不到任何方法来做到这一点。
您可以使用带有 User 类的 with_role 方法来查找在 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
有了这个,您可以使用 with_role 和 find_roles 类方法。
如果你需要一个额外的“哪里”
@courriers = User.where.not(latitude: nil, longitude:nil ).with_role :Courrier
如果您需要使用连接,请尝试以下操作:
User.with_role(:admin).joins(:other_table).(other_table:{some_field: true})