Ruby on rails 有很多实现需要外键吗?
我想让简单的Ruby on rails 有很多实现需要外键吗?,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我想让简单的在我的模型之间有很多和属于的关系。 我有用户型号和报价型号。每个引号都属于用户,evry user有许多引号 我研究过这个: 但我还是不知道外键是怎么回事。Rails是在后台自动完成迁移的(当我添加有很多并且属于时),还是应该手动添加迁移,并将用户id列添加到报价表中? 在我的db\u模式中是否应该有user\u id列?外键应该在迁移中定义。如果使用生成器,Rails将生成一个迁移,可能如下所示: class CreateQuotes < ActiveRecord::Migr
在我的模型之间有很多和属于的关系。
我有用户
型号和报价
型号。每个引号都属于用户,evry user有许多引号
我研究过这个:
但我还是不知道外键是怎么回事。Rails是在后台自动完成迁移的(当我添加有很多并且属于时),还是应该手动添加迁移,并将用户id
列添加到报价表中?
在我的db\u模式中是否应该有user\u id
列?外键应该在迁移中定义。如果使用生成器,Rails将生成一个迁移,可能如下所示:
class CreateQuotes < ActiveRecord::Migration
def change
create_table :quotes do |t|
t.string :title, null: false
t.text :content, null: false
t.references :user
t.timestamps
end
end
end
class CreateQuotes
语句t.references:user
将生成外键列,在本例中称为user\u id
以下是一段引用自:
使用t.integer:supplier_id使外键命名变得明显和明确。在Rails的当前版本中,您可以使用t.references:supplier来抽象掉这个实现细节
不,Rails没有。但是在将报价模型迁移到数据库之前的迁移中,可以指定t.integer:user_id
,以便将其视为外键