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