我是ruby on rails的新手。
我已经创建了所有模型和模式,我的数据库也填充了字段。
但是,当我想更改表之间的关联或向表中添加另一个字段时,应该运行什么类型的命令以及以什么顺序运行?
例如:
rake db:drop db:create db:migrate db:seed
我应该首先生成表格模型吗?
答案 0 :(得分:0)
在您的应用程序中构建新功能时,您需要问问自己这个功能是否需要一张桌子?'。
让我们举一个简单的例子:博客文章应用
博客文章应用通常包含帖子表和作者表。
现在假设你想对你的博文发表评论。要问的第一个问题是,您需要一个评论表,您将保存与每个帖子相关的每个评论。答案是肯定的,你确实需要一个评论表,因为你将把数据保存到数据库中。
命令创建一个新的注释表:
rails generate migration create_comments
db/migration/create_comments.rb
中你会看到
class CreateComments < ActiveRecord::Migration
def change
create_table :comments do |t|
end
end
end
然后,您可以安全地将所需的任何列添加到此表中。
现在使用rake db:migrate
您的架构现在已使用新注释表进行更新。 设置数据库后,接下来需要创建一个注释模型。
class Comment < ActiveRecord::Base
end
您必须制作相应的关联;这是一个至关重要的部分 - 您希望以一种方式设置您的体系结构,使您的应用程序的所有不同部分可以轻松地相互通信。请查看ActiveRecord关联中的documentation。
在此部分之后,您需要在config/routes.rb
中设置路线并创建评论控制器:
class CommentsController < ApplicationController
def create
end
end
设置路线,以便当有人对帖子发表评论时,POST请求将被发送到评论控制器中的创建操作。看一下here了解更多信息。