Метод модели в контроллере Rails - PullRequest
0 голосов
/ 29 мая 2018

У меня есть модель с именем Visitor, которая использует следующий метод:

def online?
  !Redis.new.get("#{self.auth_token}").nil?
end

В моем контроллере я хочу отфильтровать всех посетителей, которые в данный момент онлайн, что-то вроде этого:

@organisation_vistors = Visitor.where(:organisation_id => session[:orga_id], :online => true ) 

Может кто-нибудь помочь мне с наилучшим способом достижения этой цели?

1 Ответ

0 голосов
/ 29 мая 2018

Предположим, online? - это просто метод модели, а не атрибут таблицы, вы не можете поместить это в свой запрос SQL.Фильтровать по этому условию после SQL.

@organisation_vistors =
  Visitor
  .where(organisation_id: session[:orga_id])
  .select(&:online?)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...