1
class CreateCustomers < ActiveRecord::Migration
  def change
    create_table :customers do |t|
      t.belongs_to :user
      t.string :firstname
      t.string :surname
      t.timestamps
    end
  end

这些是我的模型:

class Customer < ActiveRecord::Base
    belongs_to :user
end

class User < ActiveRecord::Base
  has_many :customers
end

找到 t.belongs_to :user在数据库中添加外键。但是当我用 pgadminIII 检查我的 postgre 数据库时,没有列出 foreign_key。迁移添加了应有的 user_id,但没有列出 foreign_key。

对此有何解释?

最好的问候否认

编辑:更多信息t.belongs_to

create_table :accounts do |t|
  t.belongs_to :supplier
  t.string :account_number
  t.timestamps
end

这是其中的一个例子。来自 railsguide 电子书第 2 章。

4

1 回答 1

0

这是我第一次看到这个belongs_to东西,但是要在迁移中的列上添加索引,您需要编写

t.belongs_to :user, index: true

(注意新的哈希语法)

于 2013-09-02T18:17:42.543 回答