Модель для реализации пользователями (Ruby on Rails 3) - PullRequest
0 голосов
/ 09 сентября 2011

Я реализую пользователя, который на самом деле не удален из системы с помощью destroy, а помечен только :active = false.

Проблема в том, что такой неактивный пользователь будет отображаться во всех User.find,User.all, ... звонки.Я не хочу загрязнять код всевозможными 'if-else' или перезаписывать поведение .find, .all и т. Д.

Я просто хочу знать, могу ли я красиво определить его вПользовательская модель, так что неактивные пользователи практически исчезают, если я не хочу явно извлекать такого пользователя.

Если в модели нет способа сделать это, то каковы мои варианты?

Ответы [ 2 ]

2 голосов
/ 09 сентября 2011

Используйте метод scope или class с предложением where .

0 голосов
/ 09 сентября 2011

Я думаю, что вы можете проверить acts_as_paranoid Вот ссылка для одной из реализаций: https://github.com/technoweenie/acts_as_paranoid

Из вики:

Теперь всякий раз, когда вызывается команда destroyв этой модели он просто удаляется из поля обзора, а в столбце delete_at указывается текущая дата и время.Все методы поиска игнорируют «удаленные» записи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...