Задать вопрос
@IvanN777

Как правильно в модели rails убирать юзеров (с галочкой отключен)?

У меня есть модель Users
в таблице users есть поле access

которое имеет значения (true,false)

Можно ли на уровне модели отсекать юзеров у которых false
Или везде прописывать нужно where(xxx,access=true)
  • Вопрос задан
  • 2173 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Code Basics
    Ruby для начинающих
    1 месяц
    Далее
  • Хекслет
    Разработчик на Ruby on Rails
    5 месяцев
    Далее
  • Skillbox
    Ruby on Rails с нуля
    10 месяцев
    Далее
Решения вопроса 1
viktorvsk
@viktorvsk
class User < ActiveRecord::Base
default_scope ->{ where(access: true) }
...
end


И все юзеры будут по-умолчанию выбираться только с true
А если нужны будут все, то:
User.unscoped

Но вообще, дефолт скоуп не очень хорошая штука. Лучше сделать обычный named scope:
class User < ActiveRecord::Base
scope :with_access, -> { where(access: true) }
...
end

И вызывать как:
User.with_access
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы