如何使用rails生成模型

时间:2015-06-18 16:36:21

标签: ruby-on-rails

标题说明了一切。在我看来,rails生成模型mystuff 将生成一个除

之外的空模型
class mystuff < ActiveRecord::Base
end

它还会生成一个迁移文件,我可以使用

将其发送到数据库
rake db:migrate

这很棒,直到我想要抛出has_many关系。在这种情况下,我回到模型,看起来像例如:

 class mystuff < ActiveRecord::Base
    has_many :posts
    end

然后我再次运行rake db:migrate,但因为迁移文件尚未更新,所以没有任何有趣的事情发生。

然后我跑

rails generate migration mystuff and the migration file appears. 

大。现在我想更新数据库本身,以便再次运行rake db:migrate并更新架构。所有这些都有点罗嗦,所以有一种方法可以在生成模型时生成所有关联。那会更容易

1 个答案:

答案 0 :(得分:0)

has_many不会为您创建数据库迁移。它允许您设置类之间的关联。您必须自己创建一个新的迁移才能添加列。如果您熟悉外键,belongs_to通常会出现在包含FK的类(模型)中。

例如,如果状态与任务相关联(即您想要“任务”的status_id,则可以在任务上添加belongs_tohas_one或{{1}然后生成一个迁移,将status_id添加到tasks表中,例如:has_many

相关问题