PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Rails - Usando join com associações com nomes personalizados


where espera o nome real da tabela, apenas o insere no SQL:
Article.where(whatever: {you: 'want'}).to_sql
=> "SELECT `articles`.* FROM `articles` WHERE `whatever`.`you` = 'want'"

Então você pode usar:
Measurement.joins(:examination).where(test_structures: { year: 2016, month: 5 })

Mas não é bom

Então você depende do nome da tabela enquanto o Model deve abstrair essas coisas. Você pode usar merge :
Measurement.joins(:examination).merge(TestStructure.where(year: 2016, month: 5))