t.references always creates an integer column. But that won't work as a foreign key if the referenced table's id isn't an integer. For example, it might be a uuid (see Rails 4 Postgres UUID Primary Key Guide
t.references could possibly look up the primary key column type of the table being referenced, and act accordingly.
t.referencesalways creates an integer column. But that won't work as a foreign key if the referenced table's id isn't an integer. For example, it might be auuid(see Rails 4 Postgres UUID Primary Key Guidet.referencescould possibly look up the primary key column type of the table being referenced, and act accordingly.