【问题标题】:Scaffolding on Rails 6.1 api based app with versioning on controllerScaffolding 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

任何指导将不胜感激。

谢谢

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-6 ruby-on-rails-6.1


    【解决方案1】:

    你无法用 1 个命令实现你想要的。

    你可以做一个scaffold_controller并在没有脚手架的情况下创建模型:

    rails g model Author name country

    rails g scaffold_controller v1/Author

    对于模型属性,您也可以跳过:string。如果没有给出数据类型,它将默认将其设置为字符串。

    【讨论】:

    • 你正在尝试使用一个命令。这是我试过的,它有效。谢谢你的字符串部分。但是这种方法的问题在于控制器它用户 V1 用于从数据库中获取。示例V1::Author.all
    猜你喜欢
    • 2023-02-01
    • 2018-03-13
    • 1970-01-01
    • 2014-11-14
    • 2016-06-04
    • 2014-08-14
    • 2015-11-16
    • 2017-03-03
    • 2011-07-12
    相关资源
    最近更新 更多