запрос на получение объекта из has_many через ассоциацию - PullRequest
0 голосов
/ 06 марта 2019

У меня есть 3 модели:

Product
has_many :variants, dependent: :destroy
has_many :stocks,   through: :variants

Stock
belongs_to :variant

Variant 
has_many :stocks, dependent: :destroy
belongs_to :product

В моем индексе акций мне нужно отфильтровать по продукту :title

Это моя попытка

@stocks = Stock.joins(:variant)
  .joins("INNER JOIN 'products' ON 'variants'.'id' =\'variants'.'product_id'")
  .where('lower(variants.product.title) LIKE ?', "%#{params[:query][:keyword].downcase }%")

У меня есть эта ошибка, но я не понимаю, что не так

PG :: SyntaxError: ОШИБКА: синтаксическая ошибка в или около "'продукты'" ЛИНИЯ 1: ... варианты "." Id "=" акции "." Option_id "ВНУТРЕННИЙ РЕЙТИНГ" продукты "...

1 Ответ

1 голос
/ 06 марта 2019

Вы можете присоединиться к продукту с синтаксисом AR

@stocks = Stock.joins(variant: :product)
  .where('lower(products.title) LIKE ?', "%#{params[:query][:keyword].downcase }%")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...