我有User
主键id
和Blog
模型,主键id
。
我在has_many
User
和Blog
belongs_to
之间有一个Blog
关联
到User
。
根据我的理解,我需要手动修改架构。
您能否提供有关如何执行此操作的见解?
答案 0 :(得分: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.blogs
或blog.user
。
答案 1 :(得分:0)
您必须执行上面已经说过的操作,然后才能更改数据库架构。您可以通过迁移更改数据库架构。您缺少的步骤是=&gt;您需要将user_id的外键添加到博客(通过迁移执行此操作)或添加属于关系
您可以使用'rails generate migration'命令创建迁移
rails generate migration add_column :blogs, :user_id, :integer
OR
rails generate migration change_table :blogs, :belongs_to, :user
迁移的结果应该将user_id的外键添加到博客中,或者它应该在用户和博客之间添加belongs_to关联。
在db / migrate文件夹中查找迁移结果
然后运行
rake db:migrate