Rails WHERE - И условие для нахождения двух или более значений одного и того же атрибута - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь внедрить свою собственную систему аутентификации, где вошедшие в систему пользователи должны видеть записи о состоянии, из которого они происходят:

if current_user.role.name == "state_admin" && current_user.state.name == "Texas"
    @b = Staff.where(state_id: 3) 

State_id для Техаса - 3.

Однако я хотел бы создать специальное исключение, в котором администратор Техаса может также просматривать записи для Флориды. Я написал следующий код, чтобы попытаться добиться этого:

@staffs= Staff.where(state_id: 3).or(Staff.where(state_id: 4))

Когда я go на индексную страницу, отображаются только записи для Техаса. Я хочу перечислить записи для Техаса AND Флорида (state_id 4).

Куда я иду не так? Я был на нем пару часов и не могу заставить его работать (хотя я новичок).

1 Ответ

2 голосов
/ 03 апреля 2020

Как заявляет Флорент Ферри в комментариях, вы можете написать это:

@staffs = Staff.where(state_id: [3, 4])

Также стоит прочитать Активную запись: https://guides.rubyonrails.org/active_record_basics.html

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