Method: ActiveRecord::QueryMethods#joins

Defined in:
lib/active_record/relation/query_methods.rb

#joins(*args) ⇒ Object

Performs a joins on args:

User.joins(:posts)
=> SELECT "users".* FROM "users" INNER JOIN "posts" ON "posts"."user_id" = "users"."id"

You can use strings in order to customize your joins:

User.joins("LEFT JOIN bookmarks ON bookmarks.bookmarkable_type = 'Post' AND bookmarks.user_id = users.id")
=> SELECT "users".* FROM "users" LEFT JOIN bookmarks ON bookmarks.bookmarkable_type = 'Post' AND bookmarks.user_id = users.id


391
392
393
394
# File 'lib/active_record/relation/query_methods.rb', line 391

def joins(*args)
  check_if_method_has_arguments!("joins", args)
  spawn.joins!(*args.compact.flatten)
end