从命令行添加has_many和belongs_to migration

我生成了两个模型,现在想要实现活动记录关联。

我有设计师和物品。 Item属于Designer,Designer有许多Items。

我的模型看起来像这样:

应用程序/模型/ item.rb的:

class Item < ActiveRecord::Base belongs_to :designer validates :designer_id, presence: true end 

应用程序/模型/ designer.rb:

 class Designer < ActiveRecord::Base has_many :items, dependent: :destroy end 

即使在我运行rake db:migrate我的迁移也没有反映出新的关系。 他们展示了原始一代:

 class CreateDesigners < ActiveRecord::Migration def change create_table :designers do |t| t.string :name t.string :country t.string :about t.timestamps end end end class CreateItems < ActiveRecord::Migration def change create_table :items do |t| t.string :title t.string :price t.string :description t.timestamps end end end 

如何进行迁移,以便数据库反映我在模型中编写的has_many和belongs_to关系?

您需要创建新的迁移以添加外键

 rails g migration add_designer_id_to_item designer_id:integer 

并运行

 rake db:migrate