即使再小心,在开发 Rails 应用程序过程中仍然可能犯错。幸运的是,Rails 提供了一些工具能够帮助你进行复原。

举例来说,一个常见的情况是,你想更改控制器的名字,这时你就要撤销生成的代码。生成控制器时,除了控制器文件本身之外,Rails 还会生成很多其他的文件(参见代码 3.4)。撤销生成的文件不仅仅要删除主要的文件,还要删除一些辅助的文件。(事实上,我们还要撤销对 routes.rb 文件自动做的一些改动。)在 Rails 中,我们可以通过 rails destroy 命令完成这些操作。一般来说,下面的两个命令是相互抵消的:

$ rails generate controller FooBars baz quux
$ rails destroy controller FooBars baz quux
$ rails generate model Foo bar:string baz:integer

生成的模型可通过下面的命令撤销:

$ rails destroy model Foo

对模型来说涉及到的另一个技术是撤销迁移。

$ rake db:migrate

我们可以使用下面的命令撤销一个迁移操作:

$ rake db:rollback

如果要回到最开始的状态,可以使用:

$ rake db:migrate VERSION=0

你可能已经猜到了,将数字 0 换成其他的数字就会回到相应的版本状态,这些版本数字是按照迁移顺序排序的。

最新文章

  1. SQL Server技术内幕笔记合集
  2. OC中的那些String
  3. Wix 安装部署教程(八) 自动生成XML小工具
  4. web.xml的初始化参数
  5. 孙鑫视频学习:改变窗口过程函数中出现error C2440错误的解决方法
  6. css样式继承 第7节
  7. 理解runtime system
  8. saveFileDialog
  9. Spring容器组建注解@Component和Resouces实现完全注解配置
  10. iOS-NSPredicate正则验证【三种验证方法】
  11. Linux 桌面玩家指南:18. 使用 Docker 隔离自己的开发环境和部署环境
  12. Servlet 上传下载文件
  13. jq三级联动
  14. 最火移动端跨平台方案盘点:React Native、weex、Flutter
  15. LeetCode算法题-First Unique Character in a String(Java实现)
  16. 第五天 py if使用
  17. MySql优化分析
  18. 隐藏超出父元素的子元素的部分:overflow
  19. 9.tab栏切换
  20. Python-删除列表中重复元素的方法

热门文章

  1. SQL IF UPDATE(Number) 在触发器[Trigger]中的用法
  2. java多线程总结五:线程池的原理及实现
  3. Oracle Split Partitions
  4. HTTP 和 Socket 的区别
  5. centos 7下配置mysql+php(ThinkPHP)+nginx
  6. 【制作镜像Win*】系统配置
  7. 将博客搬迁至CSDN
  8. 使用qt制作简单的加法,乘法运算。
  9. IE专用CSS,最全的CSS hack方式一览
  10. sae-xhprof调试性能