Cancan을 사용하므로 사용자 역할을 확인해야합니다. Users -> userroles (참조 ID) -> roles (각 역할의 이름, 역할은 이름 열에 있음)와 has_many 관계가 있어야합니다.수십 개의 역할에서 역할 확인
내 사용자 모델에는 역할 (역할)이 있습니다 (예 : role?(:admin)
). 사용자에게 역할이 있는지 확인합니다.
def role?(role)
roles.include? role.to_s
end
이것은 작동하지 않습니다. 이름 열을 지정해야합니까?
해결 : 시간이 지나면 답을 내려 드리겠습니다.
'select' 대신'collect'을 사용해서는 안됩니까? 'select'는 객체를 반환 할 것이고,'collect'는 문자열의 배열을 반환 할 것입니다. 또한 역할 객체의'.to_s' 메쏘드가 그 이름을 반환한다고 가정하고 있습니다. – Jimmy