首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scaffolding - rails生成-数据迁移类中的def

Scaffolding - rails生成-数据迁移类中的def
EN

Stack Overflow用户
提问于 2013-04-04 14:45:09
回答 2查看 71关注 0票数 0

我是Rails新手--我先是创建了一个新的rails应用程序rails new test,然后是rails generate scaffold Name column1:datatype column2:datatype

在本教程中,打开12345678timestamp_create_names.rb文件后,我使用的是def change,但本教程使用的是def self.updef self.down

为什么会这样呢?有什么不同呢?我现在应该编辑我的应用程序吗?那在未来呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-04 14:49:42

迁移已从rails2更改为rails3,现在rails3足够智能,能够理解它应该如何响应您的命令

因此,可以将change看作是updown的组合

如果你说

rake db:migrate它会将其视为up

rake db:rollback它会将其视为down

read more here

票数 2
EN

Stack Overflow用户

发布于 2013-04-04 14:53:56

Rails 3.1为迁移引入了新的更改方法。

See Rails guides

Rails 3.1通过提供新的更改方法使迁移更加智能。这种方法是编写构造迁移(添加列或表)的首选方法。迁移知道如何迁移您的数据库,并在迁移回滚时反转数据库,而无需编写单独的down方法。

因此,您的教程可能涵盖了Rails3.0,而不是Rails2,因为您已经使用过Rails 3命令来创建新的应用程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15804268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档