Rails没有认识到关系

时间:2013-06-10 15:24:02

标签: ruby-on-rails ruby ruby-on-rails-3 rspec

尝试在我的数据库中设置关系时遇到问题。

我有一个用户和一些评论(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并再次迁移,但仍然存在问题。

2 个答案:

答案 0 :(得分:2)

如果您自己添加了belongs_tohas_many,则必须为其生成迁移。

rails g migration add_user_id_to_comments user_id:int

答案 1 :(得分:0)

您需要在评论模型中添加user_id