我有User
primary keyid
和一个Blog
model with primary key id
。
我有一个has_many
关联 in User
toBlog
和一个belongs_to
in Blog
to User
。
据我了解,我需要手动修改架构。
您能否提供有关如何执行此操作的见解?
我有User
primary keyid
和一个Blog
model with primary key id
。
我有一个has_many
关联 in User
toBlog
和一个belongs_to
in Blog
to User
。
据我了解,我需要手动修改架构。
您能否提供有关如何执行此操作的见解?
# 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.blogs
或blog.user
。
您必须执行上面已经说过的操作,然后还要更改数据库架构。您通过迁移更改数据库架构。您缺少的步骤是 => 您需要将 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