【发布时间】:2021-10-17 11:28:51
【问题描述】:
我正在尝试使用脚手架生成多个命名空间,但我想对所有人使用相同的模型和相同的迁移数据库。所以我尝试了这个:
rails g scaffold years title:string slug:string
rails g scaffold admin::years title:string slug:string --skip-model
rails g scaffold api::years title:string slug:string --skip-model --api
然后当我去检查文件时,它生成了所有这些文件:
models/year.rb
models/api/year.rb
models/admin/year.rb
migrate/_create_years.rb
migrate/_create_admin_years.rb
migrate/_create_api_years.rb
但我希望管理员和 API 的控制器和视图使用相同的模型:
models/year.rb
并且还使用在以下位置生成的同一张表:
migrate/_create_years.rb
实现这一目标的正确脚手架命令是什么?
【问题讨论】:
-
您正在尝试做的事情超出了脚手架应该实现的范围,并且立即编写代码会更容易。脚手架仅用于对资源的典型 CRUD MVC 进行快速原型设计。
-
如果你真的必须这样做,例如作为 gem 的一部分,答案是创建你自己的生成器。
标签: ruby-on-rails