Ruby on rails ruby创建文件中用户创建的对象使用什么数据类型

Ruby on rails ruby创建文件中用户创建的对象使用什么数据类型,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我根据教程建立了一个简单的博客。但后来我想尝试更大一点的东西。所以我想写一个有评论和用户的博客。这意味着现在我的帖子需要一个用户和一系列评论。我的评论需要属于一个帖子,我的用户有很多帖子和评论。所以问题是在我的创建文件中,我如何处理它。我只是使用字符串、文本和整数。但对于阵列和用户创建的模型,它们是什么呢?这里是一个要点,看看代码,如果有什么我没有做,看起来像一个潜在的坑下跌,请让我知道。第二,以前,当我向模型添加一个新变量时,我发现如果我想更新模式,我必须rake db:rollback,然后

我根据教程建立了一个简单的博客。但后来我想尝试更大一点的东西。所以我想写一个有评论和用户的博客。这意味着现在我的帖子需要一个用户和一系列评论。我的评论需要属于一个帖子,我的用户有很多帖子和评论。所以问题是在我的创建文件中,我如何处理它。我只是使用字符串、文本和整数。但对于阵列和用户创建的模型,它们是什么呢?这里是一个要点,看看代码,如果有什么我没有做,看起来像一个潜在的坑下跌,请让我知道。第二,以前,当我向模型添加一个新变量时,我发现如果我想更新模式,我必须rake db:rollback,然后再次迁移。因为仅仅尝试迁移并没有更新我的模式。有更好的方法吗


谢谢。

Post
应该
属于:user
而不是
有一个:user

不确定你在遵循什么教程,但是最好的博客应用程序教程可以在中找到

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

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

模型如下所示:

使用者

职位

评论

belongs_to :user
belongs_to :post
在迁移过程中,您只需使用一个整数来定义归属关系

在迁移后阶段:(这将根据迁移方式的不同而有所不同,但概念是相同的)

请评论:

t.integer :user_id
t.integer :post_id

通读这些指南就可以了。

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

例如,您的comments表需要一个
用户id
整数。这将允许特定注释“指向”用户,以便应用程序知道是谁写了注释

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

has_many :comments
在您的评论模型中:

belongs_to :user

同样的基本思想也适用于帖子。

您如何确定模式没有改变?通过schema.rb,还是通过Rails控制台?如果要通过Rails控制台进行检查,则需要在运行迁移后重新启动控制台。您应该能够在旧迁移的基础上生成迁移,并看到它们更改了您的数据库。有趣的是,这会清除很多。您遗漏了迁移过程中的许多问题。这意味着要找到附加到用户的所有注释,我必须在数据库中查找用户id并找到所有匹配的注释?我来自C++背景,现在做iOS和Web,但都是前端。所以这个Ruby和数据库的东西是一次旅行。阅读我链接到的指南,你会得到它。你真正需要做的就是user.comments,它将为该用户获取评论。哦,我差点忘了。在迁移过程中,您没有为很多人做任何事情。模型已经知道该做什么了。您只需要为您所属的对象进行迁移。
t.integer :user_id
t.integer :post_id
has_many :comments
belongs_to :user