如何扭转“轨道产生”?如何扭转“轨道产生”?(How do I reverse a 'rai

2019-05-12 13:33发布

即删除其创建的所有文件和回滚所做的任何更改? 不一定是分贝,但更重要的配置文件。

例如,自动删除所有在routes.rb中文件中删除,并在其他地方可能已经进行了更改模型/控制器的资源映射?

谢谢。

Answer 1:

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


Answer 2:

这是这里值得一提的-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标志再次运行该命令。



Answer 3:

rails destroy controller Controller_name返航一堆错误。 为了能够摧毁控制器,我不得不删除在routes.rb中的相关路线。 PS我使用轨道3.1



Answer 4:

您是否使用版本控制(颠覆,git的,等等)? 只是恢复。 如果没有 - 为什么不呢?!



Answer 5:

这是原型生成或破坏铁轨控制器或模型。

rails generate/destroy controller/model [controller/model Name]

例如,如果你需要生成用户控制器

rails generate controller User

要么

rails g controller User

如果想破坏用户控制器或恢复到上述动作,然后

rails destroy controller User

要么

rails d controller User



Answer 6:

你可以使用rails d model/controller/migration ...销毁或删除使用轨道生成命令生成的变化。

例如: rails g model Home name:string创建一个名为模型home与属性name 。 要删除该命令,我们可以使用命令生成的文件和代码rails d model Home



Answer 7:

要手动删除控制器,以防rails d controller命令不起作用:

对于控制器welcome

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


Answer 8:

您可以恢复您的rails g/generate controller/model/migration xxx使用的输出:

 rails d/destroy controller/model/migration xxx


Answer 9:

假设我已经创建了一个名为控制器样品等作为

rails generate controller sample

如果我要摧毁这个控制器,所有我需要做的就是交换的产生破坏 ,如

rails destroy controller sample.

如果你想扭转产生,所有你需要做的就是交换的“ 生成 ”与“ 破坏



Answer 10:

如果您使用的轨道,利用rails d controller Users

如果你使用宙斯,使用zeus d controller Users 。 在另一方面,如果你使用的git或SVN,恢复与提交号码更改。 这是要快得多。



Answer 11:

您可以撤消轨在以下方面产生:

  • 对于型号: rails destroy MODEL
  • 对于控制器: rails destroy controller_name


Answer 12:

你可以摧毁创建同样的方式,除了事情变化不大一切。 对于控制器,

rails d controller_name (d stands for destroy)

对于型号

rails d model_name

你只要把d(destroy)而不是g(generate)中迁移。



Answer 13:

为了扭转这一点,我们只是摧毁它。 打开终端应用程序并进入项目目录。 然后,输入:

rails destroy model CamelCase
rails destroy controller CamelCase

凡驼峰是任何模型或控制器的名称。 它会删除模型,迁移和一些相关的测试文件。 (你可以看到结果,对终端已运行命令后。)



Answer 14:

轨的所有世代一个消灭他们的,所以,如果通过发电机(例如)命名为“任务”,摧毁ganerate的所有更改支架则必须键入创建:

rails destroy scaffold Tasks

希望它可以帮助你。



Answer 15:

对于选择模型中移除脚手架

bin/rails d scaffold <AccessControl> //model name


Answer 16:

恢复了之前rails generate ,请务必先回滚迁移

案例1:如果要恢复脚手架,然后运行该命令 -

rails destroy scaffold MODEL_NAME

案例2:如果您想恢复模型,然后运行该命令 -

rails destroy model MODEL_NAME

案例3:如果要恢复控制器,然后运行该命令 -

rails destroy controller CONTROLLER_NAME

注意:您也可以使用快捷d ,而不是destroy



Answer 17:

我们使用生成的rails generate app 。 所以,任何再生generate的语句可以使用扭转destroy声明。 只需更换generatedestroyrails generate app为可写rails destroy app'轨道产生____ as轨道破坏____`



Answer 18:

扭转轨生成,使用轨道破坏

rails destroy Model

https://guides.rubyonrails.org/command_line.html#rails-destroy



文章来源: How do I reverse a 'rails generate'?