如何反转“rails 生成”
我想删除它创建的所有文件并回滚所做的任何更改,但不一定是数据库,而是回滚配置文件。
我想自动删除在routes.rb 文件中删除的模型/控制器的所有资源映射以及可能已进行更改的其他位置?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想删除它创建的所有文件并回滚所做的任何更改,但不一定是数据库,而是回滚配置文件。
我想自动删除在routes.rb 文件中删除的模型/控制器的所有资源映射以及可能已进行更改的其他位置?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(17)
这是在 Rails 中生成或销毁控制器或模型的原型:
例如,如果您需要生成用户控制器:
或者
如果您想销毁用户控制器或恢复到上述操作
然后使用:
或:
This is a prototype to generate or destroy a controller or model in Rails:
For example, if you need to generate a User Controller:
or
If you want to destroy the User controller or revert to above action
then use:
or:
您可以使用rails d model/controller/migration ...来销毁或删除使用railsgenerate命令生成的更改。
例如:
创建一个名为
home
且属性为name
的模型。要删除该命令生成的文件和代码,我们可以使用You could use
rails d model/controller/migration ...
to destroy or remove the changes generated by using therails generate
command.For example:
creates a model named
home
with attributename
. To remove the files and code generated from that command we can use如果您使用 Rails,请使用
rails dcontroller Users
。并且,如果您使用 Zeus,请使用
zeus d 控制器用户
。另一方面,如果您使用 git 或 SVN,请使用提交号恢复更改。这要快得多。
If you use Rails, use
rails d controller Users
.And, if you use Zeus, use
zeus d controller Users
.On the other hand, if you are using git or SVN, revert your changes with the commit number. This is much faster.
在恢复
rails生成
之前,请确保先回滚迁移。情况 1:如果您想恢复脚手架,则运行此命令:
情况 2:如果您想恢复模型,则运行此命令:
情况 3:如果您想恢复控制器,则运行此命令:
注意:您还可以使用快捷方式 < code>d 而不是
destroy
。Before reverting the
rails generate
, please make sure you rollback the migration first.Case 1: if you want to revert scaffold then run this command:
Case 2: if you want to revert model then run this command:
Case 3: if you want to revert controller then run this command:
Note: you can also use shortcut
d
instead ofdestroy
.你可以摧毁所有以同样方式创造的东西,除了一点点改变。
对于控制器,
对于模型,
您只需在迁移中放置
d(destroy)
而不是g(generate)
。You can destroy all things that was created same way except little thing change.
For controller,
For Model
you just put
d(destroy)
instead ofg(generate)
in your migration.如果您希望手动删除控制器:
对于控制器
welcome
If you prefer to delete the controller manually:
For controller
welcome
您可以
使用以下方法恢复输出:
You can revert your
output by using:
假设我创建了一个名为“sample”的控制器,如下所示:
如果我必须销毁此控制器,我所要做的就是将
generate
与destroy
交换,如如果你想要要反转生成,您只需将
generate
与destroy
交换即可。Suppose I have created a controller named "sample" like:
If I have to destroy this controller, all I have to do is swap
generate
withdestroy
, as inIf you want to reverse the generation, all you have to do is swap
generate
withdestroy
.您可以通过以下方式撤消
railsgenerate
:rails destroy MODEL
rails destroy controller_name
You can undo a
rails generate
in the following ways:rails destroy MODEL
rails destroy controller_name
要反转
rails generated
,请使用rails destroy
:请参阅“
rails destroy
”了解更多信息。To reverse
rails generate
, userails destroy
:See "
rails destroy
" for more information.所有版本的 Rails 都有一个“销毁”,因此,如果您使用生成器创建一个名为“任务”的(例如)脚手架,要销毁该生成步骤的所有更改,您将必须输入:
希望它对您有帮助。
All versions of rails have a "destroy", so-, if you create a (for example) scaffold named "tasks" using a generator, to destroy all the changes of that generate step you will have to type:
Hope it helps you.
为了扭转这种情况,我们只需摧毁它。打开终端应用程序并转到项目目录,然后键入:
其中
CamelCase
是任何模型或控制器的名称。它将删除模型、迁移和一些相关的测试文件。 (运行命令后,您可以在终端窗口中看到结果。)
To reverse that, we just destroy it. Open the Terminal application and go to the project directory, then, type this:
Where
CamelCase
is a name of any model or controller.It will remove the model, migration and some of the related test files. (You can see the result in the Terminal window after you have run the command.)
我们使用生成为
rails 生成应用程序
。因此,可以使用
destroy
语句来反转重新生成任何generate
语句。只需将
generate
替换为destroy
即
railsgenerateapp
可以写成railsdestroyapp'
rails 生成 ____as
rails 销毁 ____`We use generate as
rails generate app
.So regenerating any
generate
statement can be reversed usingdestroy
statement.Just replace
generate
withdestroy
i.e.
rails generate app
can be written asrails destroy app'
rails generate ____as
rails destroy ____`删除了选定型号的脚手架:
Removed scaffolding for selected model:
Rails 3.2 为该命令添加了一个新的
d
快捷方式,因此现在您可以编写:Rails 3.2 adds a new
d
shortcut to the command, so now you can write:值得一提的是这里的
-p
标志(“p”代表假装)。如果您将其添加到命令中,它只会执行“测试”运行并显示将删除哪些文件,而不会实际删除它们。
如果您对此感到满意,请在不带
-p
标志的情况下再次运行该命令。It's worth mentioning the
-p
flag here ("p" for pretend).If you add this to the command it will simply do a "test" run and show you what files will be deleted without actually deleting them.
If you're happy with it, run the command again without the
-p
flag.rails destroy controller Controller_name
返回了一堆错误。为了能够销毁控制器,我必须删除 paths.rb 中的相关路由。 PS我使用的是rails 3.1rails destroy controller Controller_name
was returning a bunch of errors. To be able to destroy controller I had to remove related routes in routes.rb. P.S. I'm using rails 3.1