0

我按照教程建立了一个简单的博客。但后来我想尝试一些更大的东西。所以我想做一个有评论和用户的博客。这意味着现在我的帖子需要一个用户和一系列评论。我的评论需要属于一个帖子,我的用户有很多帖子和评论。所以问题是在我的创建文件中我该如何处理。我只是使用字符串、文本和整数。但是对于数组和用户创建的模型它们是什么?这是一个链接看代码的要点另外,如果我没有做任何看起来像潜在的坑洼的事情,请告诉我。其次,之前当我向模型添加一个新变量时,我发现如果我想更新架构,我必须 rake db:rollback 然后再次迁移。因为只是试图迁移到顶部并没有更新我的架构。有没有更好的方法来做到这一点?

谢谢。

4

3 回答 3

2

不确定您正在遵循什么教程,但最好的博客应用教程可以在官方文档中找到。

通读之后,您会发现您缺少模型对象的主要概念。

您将拥有三个模型:用户、帖子、评论。

模型看起来像这样:

用户

has_many :posts
has_many :comments

邮政

belongs_to :user
has_many :comments

评论

belongs_to :user
belongs_to :post

在您的迁移中,您将简单地使用一个整数来定义belongs_to 关系。

在 Post 迁移中:(这将根据您进行迁移的方式而有所不同,但概念是相同的)

t.integer :user_id

评论:

t.integer :user_id
t.integer :post_id

通读指南,你会没事的。

于 2012-08-22T00:38:30.303 回答
0

Post应该belong_to :user而不是has_one :user.

于 2012-08-22T00:38:10.127 回答
0

您需要对数据库模式设计进行一些研究,但基本上您需要向表中添加外键并设置它们之间的关系。

例如,您的评论表将需要一个user_id整数。这将允许特定评论“指向”用户,因此您的应用程序知道谁写了评论。

然后在您的用户模型中,您应该添加以下内容:

has_many :comments

在您的评论模型中:

belongs_to :user

相同的基本思想可以应用于帖子。

于 2012-08-22T00:41:12.817 回答