How can I assign different table name with adding foreign key. for e.g
I have a model like
class MyPost < ActiveRecord::Base
has_many :comments, cla
You can pass in options for the foreign key as following:
class CreatePostComments < ActiveRecord::Migration
def change
create_table :post_comments do |t|
t.references :post, foreign_key: { to_table: :my_posts }, index: true
t.timestamps null: false
end
end
end
This is also true for the index option if you like to add a unique constraint:
t.references :post, foreign_key: { to_table: :my_posts }, index: { unique: true}
By the way, references is an alias for belongs_to
, or to be more exact, belongs_to
is an alias for references.
See the details in the implementation rails 5.0.rc2 & rails 4.2