Se você adicionar um
WHERE
condição nas colunas da direita tabela após um LEFT JOIN
, você o força a agir como um INNER JOIN
. Solução
Puxe a expressão para a condição para o
LEFT JOIN
.De acordo com a página do manual você citou você mesmo :
E:
Você pode ter interpretado mal essa frase.
Isso deve fazer o que quiser:
Post.joins('LEFT OUTER JOIN images ON images.post_id = posts.id
AND images.service_name = $$acme$$')
Não sou especialista em Ruby, mas derivou isso do manual aqui .
Não tenho certeza de como escapar das aspas simples, então mudei para as cotações do dólar.