Method: ActiveRecord::QueryMethods#references
- Defined in:
- 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 conjunction 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
167 168 169 170 |
# File 'lib/active_record/relation/query_methods.rb', line 167 def references(*table_names) check_if_method_has_arguments!(:references, table_names) spawn.references!(*table_names) end |