NoMethodError: неопределенный метод и для #ActiveRecord :: Relation [] - PullRequest
0 голосов
/ 29 февраля 2020

Я использую Rails 5. Я хочу написать предложение where с AND, чтобы возвращать результаты только при двух условиях. Я попробовал это

  new_orders = Order
    .joins(:line_items => { :shipping => :vendor })
    .where.not(
      :vendors => { :id => vendor_ids }
    )
  ).and( 
    Order.joins(:line_items).where(:holding => nil)
  )

, но получаю NoMethodError: undefined method and for #ActiveRecord::Relation []. Did you mean? any?" error.

1 Ответ

1 голос
/ 29 февраля 2020

Для ActiveRecord Relation нет метода and. Доступен только метод or.

Для вашего запроса, я думаю, это также должно работать

new_orders = Order.joins(:line_items => { :shipping => :vendor })
                  .where.not(:vendors => { :id => vendor_ids })
                  .where(:holding => nil)
...