Вот мой код. Он работает нормально, если у меня есть что-то в поле поиска: или если у меня есть что-то в поле поставщика, но если у меня есть что-то в обоих, я получаю «Неоднозначное имя столбца« NUMBER ». Есть ли способ выбрать AS или что-то еще?Rails Activerecord Неоднозначное название столбца на .joins
@date_from = params[:date_from] || Date.today.beginning_of_month.strftime('%m/%d/%Y')
@date_to = params[:date_to] || Date.today.strftime('%m/%d/%Y')
q = "%#{params[:search]}%"
@products = Product.where("DISCONT = ? AND NONPRODUCT = ?" ,0,0)
@products = @products.where('NUMBER like ?' ,q) if params[:search].present?
@products = @products.joins(:supplier_items).where('SUPPLIER = ?' ,params[:supplier]) if params[:supplier].present?
@products = @products.paginate(page: params[:page], per_page: 25)
То, что я думал, но когда я добавить продукты. Я получаю следующую ошибку: «TinyTds :: Ошибка: идентификатор многочастности« products.NUMBER »не может быть связан: EXEC sp_executesql N'SELECT TOP (25) [__rnt]. * FROM (SELECT ROW_NUMBER() OVER (ORDER BY [STOCK]. [STOCK_ID] ASC) AS [__rn], [STOCK]. * FROM [STOCK] WHERE (DISCONT = 0 AND NONPRODUCT = 0) AND (products.NUMBER как N ''% ipob% '')) AS [__rnt] WHERE [__rnt]. [__ rn]> (0) ORDER BY [__rnt]. [__ rn] ASC '" – DRD
Является ли ваш запас таблиц или товар? Этот SQL выглядит как запас. –
Таблица в БД является STOCK, но в модели продукта у меня есть self.table_name = 'STOCK' – DRD