我想删除它创建的所有文件,并回滚所做的任何更改,但不一定是数据库,而是配置文件。
我想自动删除路由中删除的模型/控制器的所有资源映射。Rb文件和其他地方的变化可能已经作出?
我想删除它创建的所有文件,并回滚所做的任何更改,但不一定是数据库,而是配置文件。
我想自动删除路由中删除的模型/控制器的所有资源映射。Rb文件和其他地方的变化可能已经作出?
rails destroy controller lalala
rails destroy model yadayada
rails destroy scaffold hohoho
Rails 3.2为这个命令添加了一个新的快捷方式d,所以现在你可以这样写:
rails d controller lalala
rails d model yadayada
rails d scaffold hohoho
你可以使用rails d模型/控制器/迁移…销毁或删除使用rails generate命令所产生的更改。
例如:
rails g model Home name:string
使用属性name创建名为home的模型。删除我们可以使用的从该命令生成的文件和代码
rails d model Home
这是一个在Rails中生成或销毁控制器或模型的原型:
rails generate/destroy controller/model [controller/model Name]
例如,如果你需要生成一个User Controller:
rails generate controller User
or
rails g controller User
如果你想销毁User控制器或恢复到上面的操作 然后使用:
rails destroy controller User
or:
rails d controller User
你可以恢复你的
rails g/generate controller/model/migration xxx
使用输出:
rails d/destroy controller/model/migration xxx
如果使用Rails,请使用Rails d controller Users。
并且,如果您使用Zeus,请使用Zeus的控制器用户。
另一方面,如果您正在使用git或SVN,请使用提交号恢复您的更改。这个要快得多。
这里值得一提的是-p标志(“p”代表假装)。
如果你将此添加到命令中,它将简单地执行“测试”运行,并向你显示哪些文件将被删除,而不实际删除它们。
$ rails d controller welcome -p
remove app/controllers/welcome_controller.rb
invoke erb
remove app/views/welcome
invoke test_unit
remove test/controllers/welcome_controller_test.rb
invoke helper
remove app/helpers/welcome_helper.rb
invoke test_unit
remove test/helpers/welcome_helper_test.rb
invoke assets
invoke coffee
remove app/assets/javascripts/welcome.js.coffee
invoke scss
remove app/assets/stylesheets/welcome.css.scss
如果您对此满意,可以在不带-p标志的情况下再次运行该命令。
要扭转这一局面,我们只需摧毁它。打开终端应用程序,进入项目目录,然后键入以下内容:
rails destroy model CamelCase
rails destroy controller CamelCase
其中CamelCase是任何模型或控制器的名称。 它将删除模型、迁移和一些相关的测试文件。(运行命令后,您可以在终端窗口中看到结果。)
如果您希望手动删除控制器:
对于控制器欢迎
rm app/controllers/welcome_controller.rb
rm app/views/welcome
rm test/controllers/welcome_controller_test.rb
rm app/helpers/welcome_helper.rb
rm test/helpers/welcome_helper_test.rb
rm app/assets/javascripts/welcome.js.coffee
rm app/assets/stylesheets/welcome.css.scss
所有版本的rails都有一个“destroy”,所以-,如果你使用生成器创建了一个名为“tasks”的脚手架,要销毁生成步骤的所有更改,你必须输入:
rails destroy scaffold Tasks
希望对你有所帮助。
在恢复rails生成之前,请确保先回滚迁移。
情况1:如果你想恢复脚手架,那么运行这个命令:
rails destroy scaffold MODEL_NAME
情况2:如果你想恢复模型,那么运行这个命令:
rails destroy model MODEL_NAME
情况3:如果你想恢复控制器,那么运行这个命令:
rails destroy controller CONTROLLER_NAME
注意:你也可以用快捷键d代替destroy。
假设我创建了一个名为“sample”的控制器:
rails generate controller sample
如果我要销毁这个控制器,我要做的就是交换生成和销毁
rails destroy controller sample.
如果你想反向生成,你只需要把生成和销毁交换。
我们使用generate as Rails生成应用程序。 因此,任何generate语句的重新生成都可以使用destroy语句反转。 只需将generate替换为destroy 例如,rails生成应用程序可以写成rails销毁应用程序 Rails生成____asrails破坏____ '
你可以摧毁所有以同样方式创造出来的东西,除了一点点改变。 控制器,
rails d controller_name (d stands for destroy)
为模型
rails d model_name
您只是在迁移中使用d(销毁)而不是g(生成)。