Scaffolding on Rails 6.1 api based app with versioning on controller
Posted
技术标签:
【中文标题】Scaffolding on Rails 6.1 api based app with versioning on controller【英文标题】: 【发布时间】:2021-05-14 02:17:15 【问题描述】:我正在学习使用 6.1 版本构建 Rails API 应用程序。我通过以下方式创建了一个rails应用程序
rails new book-gallery --api --mysql
应用创建成功。我接着做了以下操作
rails g scaffold Author name:string country:string
这使用 crud 创建了控制器和模型。但我希望对 API 进行版本控制
要求:
/v1/authors
如果我在脚手架上传递版本控制,模型也会被版本控制,这不应该是
rails g scaffold v1/Author name:string country:string
控制器路径是正确的,但是我得到的模型是v1.rb
和名称为v1的文件夹。
我不需要模型中的版本控制,我试图将其保留为author.rb
任何指导将不胜感激。
谢谢
【问题讨论】:
【参考方案1】:你无法用 1 个命令实现你想要的。
你可以做一个scaffold_controller并在没有脚手架的情况下创建模型:
rails g model Author name country
rails g scaffold_controller v1/Author
对于模型属性,您也可以跳过:string
。如果没有给出数据类型,它将默认将其设置为字符串。
【讨论】:
你正在尝试使用一个命令。这是我试过的,它有效。谢谢你的字符串部分。但是这种方法的问题在于控制器它用户 V1 用于从数据库中获取。示例V1::Author.all
以上是关于Scaffolding on Rails 6.1 api based app with versioning on controller的主要内容,如果未能解决你的问题,请参考以下文章
Learn Rails5.2- Scaffolding and REST