Gem, обновление и совместимость - PullRequest
0 голосов
/ 20 ноября 2010

У меня есть модель пользователя, пользователь может постепенно добавлять информацию в свой профиль (возраст, описание, аватар и т. Д.) Эти пользователи могут быть просмотрены на общедоступном веб-сайте, только если они заполнили весь свой профиль.

Что является лучшим способом в рельсах наложить ограничение на запрос, не загрязняя каждый отдельный вызов модели Active Record User. Есть ли способ для

User.all

чтобы вернуть результат с этими ограничениями по умолчанию?

Ткс много!

1 Ответ

1 голос
/ 20 ноября 2010

Вы можете определить область действия.

# user.rb
scope :complete, where("age IS NOT NULL", "description IS NOT NULL",...)

Тогда вы можете просто сделать User.complete, и он будет выбирать объекты пользователя, соответствующие этим условиям. Для получения дополнительной информации:

http://api.rubyonrails.org/classes/ActiveRecord/NamedScope/ClassMethods.html

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