有没有办法在Rails中“撤销”脚手架命令的效果?
当前回答
rails g scaffold MyFoo
用于生成和
rails d scaffold MyFoo
为消除
其他回答
您需要首先执行rake db:rollback(如果有的话)来回滚迁移 然后摧毁断头台
rails d scaffold foo
生成:
rails g scaffold post
rake db:migrate
删除:
rake db:rollback
rails d scaffold post
首先,您必须执行rake db:rollback来销毁表 如果您已经运行了rake db:migrate,那么您就可以运行了
导轨d脚手架
是的,刑台本身和它上面的所有东西。
destroy命令与generate相反,它将撤销一个命令。只需要像generate一样传递它的名字,它就会从你的项目中删除:
rails generate scaffold posts title:string content:text
rails destroy scaffold posts title:string content:text
案例1:如果您只运行这个命令来生成脚手架-
rails generate scaffold MODEL_NAME FIELD_NAME:DATATYPE
Ex - rails generate scaffold User name:string address:text
但到目前为止,您还没有运行任何命令进行迁移
rake db:migrate
那么您应该只需要运行这个命令,比如-
rails destroy scaffold User name:string address:text
情况2:如果您已经通过以下命令运行(脚手架和迁移),例如-
rails generate scaffold User name:string address:text
rake db:migrate
然后你应该首先运行回滚迁移命令,然后像下面那样破坏脚手架
rake db:rollback
rails destroy scaffold User name:string address:text
以这种方式,我们可以撤销脚手架。我们也可以用d表示销毁,用g表示生成。
推荐文章
- 什么是Ruby文件。开放模式和选项?
- Ruby数组到字符串的转换
- 如何分割(块)一个Ruby数组成X元素的部分?
- Ruby中“or”和||的区别?
- 在Rails中使用user_id:integer vs user:references生成模型
- 如何测试参数是否存在在轨道
- 验证多个列的唯一性
- Rails:在where语句中使用大于/小于
- Rails:如何为Rails activerecord的模型中的属性创建默认值?
- 库未加载:libmysqlclient.16。在OS X 10.6上使用mysql2 gem运行'rails server'时出现dylib错误
- 在Ruby中不创建新字符串而修饰字符串的规范方法是什么?
- RVM不是一个函数,用' RVM use…’不会起作用
- 了解Gemfile。锁文件
- 如何确定一个数组是否包含另一个数组的所有元素
- Rails find_or_create_by多个属性?