2015-05-07 4 views
1

Я пытаюсь настроить диапазон на моей Job модели, чтобы показать мне записи, которые соответствуют следующим:Рельсы область применения нескольких атрибутов в модели

  • survey_date в прошлом.
  • survey_file имеет значение.
  • quote_file не имеет значения.

Как я могу изменить следующее, чтобы сделать эту область работы?

scope :awaiting_quote, lambda { where('survey_date < ? AND survey_file = ? AND quote_file = ?', Time.now, true, false) } 

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

ответ

2

Использовать IS NOT NULL и IS NULL вместо true или false.

scope :awaiting_quote, lambda { where('survey_date < ? AND survey_file IS NOT NULL AND quote_file IS NULL', Time.now) } 
Смежные вопросы