运维开发网

ruby-on-rails – 如何在activeresource ruby​​ gem中更改请求url结构

运维开发网 https://www.qedev.com 2020-07-25 09:40 出处:网络 作者:运维开发网整理
ActiveResource中是否有可用的配置选项来更改请求URL结构 例如,当我的客户端应用程序尝试从api访问特定用户的服务时,ActiveResource在以下结构中向api url发送请求 http://localhost:3000/api/v1/services.json?user_id=1 但我希望ActiveResource像这样向api url发送请求 http://localho
ActiveResource中是否有可用的配置选项来更改请求URL结构

例如,当我的客户端应用程序尝试从api访问特定用户的服务时,ActiveResource在以下结构中向api url发送请求

http://localhost:3000/api/v1/services.json?user_id=1

但我希望ActiveResource像这样向api url发送请求

http://localhost:3000/api/v1/users/1/services

这些是我在客户端rails应用程序中使用的两个模型文件

user.rb

class User < ActiveResource::Base 
   self.site = "http://localhost:3001/api/v1"
   has_many :services
 end

service.rb

class Service < ActiveResource::Base
   self.site = "http://localhost:3001/api/v1"
   belongs_to :user 
 end

任何帮助,将不胜感激.谢谢

有了这些型号:

class User < ActiveResource::Base 
   self.site = "http://localhost:3001/api/v1"
   has_many :services
 end

 class Service < ActiveResource::Base
   self.site = "http://localhost:3001/api/v1"
   belongs_to :user 
 end

ActiveResource应该按如下方式发出请求:

user = User.find(1)      # GET http://localhost:3001/api/v1/users/1.json
services = user.services # GET http://localhost:3001/api/v1/users/1/services.json

假设您的ActiveResource中有更多选项,您可以考虑使用以下类似的东西:

class Resource < ActiveResource::Base 
   self.site = "http://localhost:3001/api/v1"
 end

 class User < Resource 
   has_many :services
 end

 class Service < Resource
   belongs_to :user 
 end

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号