加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在Rails 5中组合API和Web视图

发布时间:2020-12-17 03:42:34 所属栏目:百科 来源:网络整理
导读:从Rails 5开始,API gem就被合并了. 现在,如果我有API通过网页从AJAX调用,那么我们还能做些什么呢?我在这里寻找最好的做法.当然,我自己可以用JSON序列化器制作一条路线.然后,可以将API调用完全分离到另一个应用程序中. 由于API函数由继承类ApplicationContro
从Rails 5开始,API gem就被合并了.

现在,如果我有API通过网页从AJAX调用,那么我们还能做些什么呢?我在这里寻找最好的做法.当然,我自己可以用JSON序列化器制作一条路线.然后,可以将API调用完全分离到另一个应用程序中.

由于API函数由继承类ApplicationController调用< ActionController :: API我真的看不到将它与标准ApplicationController组合的选项< ActionController调用. 我对吗?基于每个控制器的重载是否有效?

解决方法

如果你使用–api模式,我认为你是对的 – 你无法将它们结合起来.这是通过设计实现的 – ActionController :: API是ActionController :: Metal的子类.这个想法是让ActionController :: API非常瘦和轻量级.但是,通过启用api模式,您可以创建一个“合同”,您的应用程序将只是一个API,就是这样.

但是,如果您使用的是普通的Rails应用程序,则可以在同一个应用程序中始终拥有普通和API控制器.然后,ActionController :: API类也将可用,因此您可以拥有仅包含轻量级API控制器的API命名空间,以及全局命名空间中的其余部分.

例如:

class UsersController < ApplicationController
  * some code here *
end

和:

class API::V1::UsersController < ApplicationController::API
  * some code here *
end

希望有所帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读