【问题标题】:Rails API Versioning Spree + rablRails API 版本控制大礼包 + rabl
【发布时间】:2018-08-07 10:47:04
【问题描述】:

我有一个使用 Spree 构建的电子商务应用程序,现在我需要为某个控制器创建一个新版本的 API,这就是我所做的

  • 在 /api/v2/x_controller.rb 中创建了一个新控制器
  • 做了一个动作索引
  • 在 routes.rb 中为我的控制器添加路由
  • 制作了一个 rabl 文件 (index.v2.rabl)

当我尝试访问 api 时,我的请求触发了操作,但我不断收到错误

ActionView::MissingTemplate (Missing template spree/api/v2/x/index)

我应该做任何缺少的配置吗?!

【问题讨论】:

    标签: ruby-on-rails spree


    【解决方案1】:

    你的 RABL 视图应该在下面

    app/views/api/v2/x/index.rabl
    

    Rails 中的视图有一个命名约定。通常,视图与关联的控制器操作共享它们的名称。例如,articles_controller.rb 的索引控制器操作将使用 app/views/articles 目录中的 index.html.erb 视图文件。返回给客户端的完整 HTML 由这个 ERB 文件、包装它的布局模板以及视图可能引用的所有部分组成。

    【讨论】:

    • 是否有index.v2.rabl 作为名称?
    • 你能把它重命名为index.rabl吗?
    • 是的,它可以工作 谢谢,但我需要知道为什么它不能与 index.v2.rabl 一起工作??
    • 因为 Rails 就是这样工作的。看看this。如果你不介意,如果这回答了你的问题,你能接受吗?
    • 抱歉没听懂!为什么 index.v1.rabl 适用于版本 1 而 index.v2.rabl 不适用于版本 2?!
    猜你喜欢
    • 2016-05-22
    • 2016-03-21
    • 1970-01-01
    • 1970-01-01
    • 2017-05-10
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 2015-02-17
    相关资源
    最近更新 更多