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

ruby-on-rails – 如何在activeresource ruby?? gem中更改请求ur

发布时间:2020-12-17 01:55:39 所属栏目:百科 来源:网络整理
导读:ActiveResource中是否有可用的配置选项来更改请求URL结构 例如,当我的客户端应用程序尝试从api访问特定用户的服务时,ActiveResource在以下结构中向api url发送请求 http://localhost:3000/api/v1/services.json?user_id=1 但我希望ActiveResource像这样向api
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

(编辑:李大同)

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

    推荐文章
      热点阅读