mardi 11 août 2015

How to add foreign key in rails migration with different table name

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, class_name: PostComment
end

class PostComment < ActiveRecord::Base
  belongs_to :post, class_name: MyPost
end

Now i want to change my migration file like this:

class CreatePostComments < ActiveRecord::Migration
  def change
    create_table :post_comments do |t|
     t.belongs_to :post, index: true
     t.timestamps null: false
    end
    add_foreign_key :post, :class_name => MyPost
  end
end 

But it is not working. Migration is getting cancelled. How do I change my migration file to work with my model structure.

Aucun commentaire:

Enregistrer un commentaire