Да, вы можете использовать имя ассоциации, если оно совпадает с именем таблицы, что означает, что в конечном итоге вы будете использовать только имя таблицы. Как уже упоминалось @Fabio, правильный способ запроса - соединение, чтобы избежать перекрестного соединения и дублирования записей
ProjectItem.
joins(:project_item_transactions).
where("project_item_transactions.sku > ?", 0)