Cancan

ну шо
даже если user не persisted то не сработает, т.к. у комента user_id должно быть обязательно заполнено, а user.id у не persisted пользователя будет nil
значит не будет таких коментариев для которых user_id: nil #(user.id)
Значит такое условие избыточно