我生成了两个模型,现在想要实现活动记录关联。
我有设计师和物品。 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关系?
答案 0 :(得分:1)
您需要创建新的迁移以添加外键
rails g migration add_designer_id_to_item designer_id:integer
并运行
rake db:migrate