Расширьте свою стратегию и для защиты контроллера clients
- вам нужно проверять владение клиентской записью при каждом действии, поскольку только некоторые люди должны иметь доступ к некоторым клиентам.
Вы должны быть в состоянии продолжить с любым решением, которое у вас есть. Еще один способ сделать это - использовать что-то вроде CanCan , которое централизует доступ и может сделать его намного проще и проще для отладки (и, что более важно, подтверждения через ваш набор тестов), которое доступно только пользователям доступ к тому, к чему они должны иметь доступ.
Вот список распространенных / популярных гемов авторизации для Rails, которые решают проблемы доступа пользователей к ресурсам.
Какой бы подход вы ни выбрали в конечном итоге, я не могу не подчеркнуть, насколько важно охватить такие вещи, как безопасный доступ, с помощью тестового покрытия. Он никогда не бывает идеальным (потому что вы можете забыть что-то тестировать), но он снизит вероятность того, что вы нарушите уже существующие ограничения доступа к безопасности, сохранив ваши связанные с безопасностью тесты как можно более современными.