Rails:我如何重新生成脚手架创建的所有视图后,我改变了基础表?



Rails新手,所以如果我弄错了术语,请随时编辑我的问题!

我已经通过脚手架创建了MVC,但是已经对底层表进行了更改(重命名了一些列,添加了一些列)。是否有一种方法可以重新生成用原始脚手架创建的视图,以反映我所做的更改?

如果我运行rails g scaffold Foo --migration=false --skip,我得到一个错误,我的模型名称已经在我的应用程序中使用。

如果删除整个相应的视图文件夹(由原始脚手架创建的),并且我运行rails g scaffold Foo --migration=false --force,生成的视图仍然不能拾取我在模型中拥有的所有字段。

您可以反转脚手架的生成,并重新生成一个包含重命名列和新列的新脚手架。

如果您已经迁移了数据库,您将需要回滚它。

rake db:rollback

然后你可以反转脚手架的生成。

rails destroy scaffold MyFoo

然后用更新后的列生成新的支架

rails generate scaffold MyFoo column_name_1:data_type column_name_2:data_type column_name_3:data_type

否则,你可以手动重写你的视图和控制器,以包含更新的和新的列。

最新更新