class User < ActiveRecord::Base
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :user
end
然后我跑了:rake db:migrate。我的Comment表中没有“user_id”字段/列。我也尝试过:rake db:drop,rake db:create和rake db:migrate。我可能错过了一步,有什么想法吗?
答案 0 :(得分:3)
您必须定义迁移。
按
创建评论模型时rails generate model comment
rails还会在your_appication_root / db / migrate /.
中生成迁移文件class CreateComments < ActiveRecord::Migration
def change
create_table :comments do |t|
t.references :user
t.text, :content
t.timestamps
end
end
end
重要的一行是
t.references :user
或者您可以通过
直接定义它t.integer :user_id
#but this do not add the db index
答案 1 :(得分:2)
您必须将这些添加到迁移中。
您可以在新的迁移中定义是否这样
add_column :comments, :user_id, :int
或更改您的迁移并使用帮助
create_table :comments do |t|
...
t.references :user
end