Rails:初始迁移后更改关系

发布于 2024-12-06 09:45:55 字数 275 浏览 1 评论 0原文

我在找到有关创建 Rails 关系的问题的良好答案时遇到了一些困难。

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

我可以简单地: 1-将 user_id 列添加到评论中, 2-声明关系和 3-运行新的add_user_id_to_comment迁移文件?

这行得通吗?如果没有,在运行模型的初始迁移后,我将如何改变关系?非常感谢您的帮助。\

Rails 3.1,Ruby 1.8.7

I am having some trouble finding a good answer to my question on rails relationship creation.

If I already ran the initial migration for my user model and my comment model Without declaring a relationship (ie: a user has_many comments, and comments belong_to user) how do I define that relationship later on?

Can I simply:
1-add the user_id column to Comments,
2-declare the relationship and
3-run the new add_user_id_to_comment migration file?

Will this work? If not, how would I go about changing the relationship after already having ran the initial migration for the models? Thank you so much for your help.\

Rails 3.1, Ruby 1.8.7

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

予囚 2024-12-13 09:45:55

您可以使用 change_table 迁移(文档):

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

You can just add the reference in another migration, using the change_table migration (documentation):

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

Then just add the associations to your models.

class User < ActiveRecord::Base
  has_many :comments
end

class Comment < ActiveRecord::Base
  belongs_to :user
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文