生成迁移时有没有办法建立模型关联?

时间:2015-05-06 18:55:24

标签: ruby-on-rails ruby

对rails很新,并想知道是否有办法让您从迁移中生成的所有关联都显示在该模型中。例如,在模拟AirBNB应用程序上工作。如果我要生成这样的迁移(已经创建了这些模型)

rails g migration AddListingsToNeighborhood listing:belongs_to

当我运行rake db:migrate时,我的模型仍然是空的。只是想知道是否有一个快捷方式让这些关联填充模型。

谢谢!

1 个答案:

答案 0 :(得分:3)

如果您尚未创建模型(或可以覆盖模型),请使用

rails g model Neighborhood listing:references

如果你有模型,只需要创建适当的迁移:

rails g migration AddListingsToNeighborhoods listing:references

数据库迁移 不会 修改模型。

在这些示例中,Neighborhood获取外键。

如果您希望Listing拥有外键(并且拥有belongs_to),那么您需要撤消它们:

rails g model Listing neighborhood:references

rails g migration AddNeighborhoodToListings neighborhood:references

FWIW,随着应用程序的发展,您将经常修改现有模型并添加关系。这意味着手动添加belongs_to并运行迁移。