Just a heads up...after reading the CacCan Wiki I'm still not sure how it handles scopes exactly. So it could be that instead of 'can :index, User.student' you have to write:

can :index, User.student do |user|
user.student?
end