尝试在我的数据库中设置关系时遇到问题。
我有一个用户和一些评论(1:N)
Class User ..
...
has_many :comments
end
Class Comment ..
..
belongs_to :user
end
尝试通过控制台向用户分配注释时,我输入以下内容: user.comments 我收到以下错误
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such column:
comments.user_id: SELECT "comments".* FROM "comments" WHERE
"comments"."user_id" = 1
我已经运行了bundle exec db:test:prepare和我的迁移,如下所示
rails g migration CreateUsers .....
rails g migration CreateComments .....
我尝试过db:schema:dump并再次迁移,但仍然存在问题。
答案 0 :(得分:2)
如果您自己添加了belongs_to
和has_many
,则必须为其生成迁移。
rails g migration add_user_id_to_comments user_id:int
答案 1 :(得分:0)
您需要在评论模型中添加user_id