Neil Middleton Neil Middleton - 5 months ago 11
Ruby Question

LEFT OUTER joins in Rails 3

I have the following code:

@posts = Post.joins(:user).joins(:blog).select


which is meant to find all posts and return them and the associated users and blogs.
However, users are optional which means that the
INNER JOIN
that
:joins
generates is not returning lots of records.

How do I use this to generate a
LEFT OUTER JOIN
instead?

Answer
@posts = Post.joins("LEFT OUTER JOIN users ON users.id = posts.user_id").
              joins(:blog).select
Comments