有没有内置的方法来重命名整个脚手架?

24 浏览
0 Comments

有没有内置的方法来重命名整个脚手架?

我在使用Rails 3.2,使用了scaffolding,并在此基础上扩展了功能,但我意识到我需要重命名整个scaffold(模型,视图,控制器,db:migrate等)。是否有内置的方法可以完成这一操作,还是应该手动操作?

admin 更改状态以发布 2023年5月22日
0
0 Comments

我认为没有现成的方法可以重命名scaffold生成的文件。你需要做的是创建一个新的scaffold,将旧的代码复制到新的scaffold中。复制工厂、模型、控制器及其各自的规范文件的内容到新的scaffold。然后使用命令

rspec d scaffold 

删除旧的scaffold。接下来,你需要创建新的迁移来从数据库中删除旧表。然后运行你的迁移。

0
0 Comments

我认为Rails没有提供重命名已创建的模型/控制器/视图/测试等名称的功能 - 无论是作为脚手架的一部分还是独立创建。

你需要手动更改它们的名称。

如果这是一个全新的应用程序,可能更容易的方法是删除整个目录/删除数据库,重新开始。

如果不是这样,你就必须手动修改脚手架生成的或修改的文件。

确保你要么删除并重新创建相关的表,要么添加一个重命名表的迁移。有关更多相关建议,请参见如何编写重命名Rails ActiveRecord模型及其表的迁移?

0