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
否则,你可以手动重写你的视图和控制器,以包含更新的和新的列。