Ruby on rails 两个表之间的rails关联

Ruby on rails 两个表之间的rails关联,ruby-on-rails,postgresql,associations,Ruby On Rails,Postgresql,Associations,我的Postgres数据库中有两个表:categories和products 我定义了一对多关系,一个类别可以有多个产品 在我在Rails的两个模型中定义了这些之后,是否还需要对这些表执行其他操作?我仍然只有Rails在单独设置每个模型时定义的主键。您可以使用正确的参数运行迁移生成器来设置外键 bin/rails generate migration AddCategoryRefToProducts category:references 这假设您拥有具有以下关联的产品模型和类别模型: #pr

我的Postgres数据库中有两个表:
categories
products

我定义了一对多关系,一个类别可以有多个产品


在我在Rails的两个模型中定义了这些之后,是否还需要对这些表执行其他操作?我仍然只有Rails在单独设置每个模型时定义的主键。

您可以使用正确的参数运行迁移生成器来设置外键

bin/rails generate migration AddCategoryRefToProducts category:references
这假设您拥有具有以下关联的产品模型和类别模型:

#product.rb
belongs_to :category

#category.rb
has_many :products
运行
rakedb:migrate
以完成该过程


查看db/migrate目录时,您将看到一个文件,其中包含
def change
块中的add_引用行。以下是该方法的引用:。独立生成器的语法是

您可以使用正确的参数运行迁移生成器来设置外键

bin/rails generate migration AddCategoryRefToProducts category:references
这假设您拥有具有以下关联的产品模型和类别模型:

#product.rb
belongs_to :category

#category.rb
has_many :products
运行
rakedb:migrate
以完成该过程


查看db/migrate目录时,您将看到一个文件,其中包含
def change
块中的add_引用行。以下是该方法的引用:。独立生成器的语法是

您是否希望在迁移创建的表上看到外键引用?嗯,在活动记录文件中添加关联后,是否需要对数据库进行rake?我没有那样做。但是,我想我需要另一个键(外键),将产品指向类别。我认为您需要在列上添加外键:true,以确保在数据库中创建外键。看到了吗?您希望在迁移创建的表上看到一个外键引用吗?嗯,在活动记录文件中添加关联后,我是否需要对数据库进行rake操作?我没有那样做。但是,我想我需要另一个键(外键),将产品指向类别。我认为您需要在列上添加外键:true,以确保在数据库中创建外键。看,谢谢!我刚试过。现在我假设我的表是连接的。我可以重新生成产品表单以自动包含此类别吗?还是我必须手动插入下拉列表?通常,脚手架用于创建原型。您通常手动更新该原型。我不认为这样做的目的是允许您对模型进行更改并重新生成视图。嗯,我已经为我的产品编辑了_表单,以包含类别参考。但产品的类别引用未写入表中。可能需要添加到控制器中允许的参数中。对于has,许多has需要允许
:product\u id=>[]
谢谢!我刚试过。现在我假设我的表是连接的。我可以重新生成产品表单以自动包含此类别吗?还是我必须手动插入下拉列表?通常,脚手架用于创建原型。您通常手动更新该原型。我不认为这样做的目的是允许您对模型进行更改并重新生成视图。嗯,我已经为我的产品编辑了_表单,以包含类别参考。但产品的类别引用未写入表中。可能需要添加到控制器中允许的参数中。对于has,许多has需要允许
:product\u id=>[]