2011-09-25 104 views
2

我在找到一个关于创建rails关系的问题的良好答案时遇到了一些麻烦。Rails:初始迁移后改变关系

如果我已经为我的用户模型和我的评论模型运行了初始迁移没有声明关系(即:用户has_many评论,评论belongs_to用户),我以后如何定义该关系?

我可以简单地说: 1加user_id列,以评论, 2,申报的关系, 3运行新add_user_id_to_comment迁移文件?

这项工作?如果不是的话,那么在完成模型的初始迁移之后,如何改变关系?非常感谢你的帮助\

的Rails 3.1的Ruby 1.8.7

回答

3

您可以只添加另一个迁移参考,使用change_table迁移(documentation):

change_table :comments do |t| 
    t.references :user 
end 

然后只需将关联添加到您的模型。

class User < ActiveRecord::Base 
    has_many :comments 
end 

class Comment < ActiveRecord::Base 
    belongs_to :user 
end