ActiveResource中是否有可用的配置选项来更改请求网址结构
例如当我的客户端应用程序尝试从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
任何帮助,将不胜感激。谢谢
答案 0 :(得分:0)
使用这些模型:
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