What is the difference between t.belongs_to and t.references in rails?
Looking at the source code, they do the same exact thing -- belongs_to
is an alias of reference
:
def references(*args) options = args.extract_options! polymorphic = options.delete(:polymorphic) args.each do |col| column("#{col}_id", :integer, options) column("#{col}_type", :string, polymorphic.is_a?(Hash) ? polymorphic : options) unless polymorphic.nil? end end alias :belongs_to :references
This is just a way of making your code more readable -- it's nice to be able to put belongs_to
in your migrations when appropriate, and stick to references
for other sorts of associations.