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 应用程序中使用的两个模型文件
用户.rb
class User < ActiveResource::Base
self.site = "http://localhost:3001/api/v1"
has_many :services
end
服务.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
关于ruby-on-rails - 如何更改 activeresource ruby gem 中的请求 url 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32024934/