0

我有Userprimary keyid和一个Blogmodel with primary key id

我有一个has_many关联 in UsertoBlog和一个belongs_toin Blog to User

据我了解,我需要手动修改架构。

您能否提供有关如何执行此操作的见解?

4

2 回答 2

0
# app/models/user.rb
class User < ActiveRecord::Base
  has_many :blogs
end

# app/models/blog.rb
class Blog < ActiveRecord::Base
  belongs_to :user
end

# db/migrate/20131103182551_add_user_id_to_blogs.rb
class AddUserIdToBlogs < ActiveRecord::Migration
  def change
    add_column :blogs, :user_id, :integer
  end
end

然后运行rake db:migrate。然后您可以调用user.blogsblog.user

于 2013-11-03T18:30:33.750 回答
0

您必须执行上面已经说过的操作,然后还要更改数据库架构。您通过迁移更改数据库架构。您缺少的步骤是 => 您需要将 user_id 的外键添加到博客(您通过迁移来完成)或添加属于关系

您可以使用“rails generate migration”命令创建迁移

rails generate migration add_column :blogs, :user_id, :integer

或者

rails generate migration change_table :blogs, :belongs_to, :user

迁移的结果应该将 user_id 的外键添加到 blogs 中,或者应该在 user 和 blogs 之间添加belongs_to 关联。

在 db/migrate 文件夹中查找迁移结果

然后运行

rake db:migrate
于 2013-11-03T19:25:21.590 回答