Method: ActiveRecord::QueryMethods#references
- Defined in:
- activerecord/lib/active_record/relation/query_methods.rb
#references(*table_names) ⇒ Object
Use to indicate that the given table_names
are referenced by an SQL string, and should therefore be JOINed in any query rather than loaded separately. This method only works in conjuction with includes
. See #includes for more details.
User.includes(:posts).where("posts.name = 'foo'")
# => Doesn't JOIN the posts table, resulting in an error.
User.includes(:posts).where("posts.name = 'foo'").references(:posts)
# => Query now knows the string references posts, so adds a JOIN
184 185 186 187 |
# File 'activerecord/lib/active_record/relation/query_methods.rb', line 184 def references(*table_names) check_if_method_has_arguments!(:references, table_names) spawn.references!(*table_names) end |