使用ActiveResource获取成员URL操作

kol*_*rie 5 ruby rest ruby-on-rails activeresource

我的应用程序中有一条路径是这样的:

/deployments/:id/logs.json
Run Code Online (Sandbox Code Playgroud)

它用于检索特定部署的日志.在我的客户端代码,基于ActiveResource我有这个:

logs = Deployment.find(deployment.id).get(:logs, opts)
Run Code Online (Sandbox Code Playgroud)

其中opts是我通过查询字符串发送的一些参数.

这段代码的问题在于它将请求分成两部分.该Deployment#find方法请求:

GET /deployments/:id.json
Run Code Online (Sandbox Code Playgroud)

然后,如果找到,则发送第二个请求:

GET /deployments/:id/logs.json
Run Code Online (Sandbox Code Playgroud)

是否可以使用服务器上的Rails 3和ActiveResource完全跳过第一个查询(activeresource的当前要求是> = 2.3.5但如果需要可以碰到它)?

更新:我认为如果我改变它是有效的:

logs = Deployment.find(deployment.id).get(:logs, opts)
Run Code Online (Sandbox Code Playgroud)

logs = Deployment.new(:id => deployment.id).get(:logs, opts)
Run Code Online (Sandbox Code Playgroud)

任何意见?

kol*_*rie 5

如果我改变它会起作用:

logs = Deployment.find(deployment.id).get(:logs, opts)
Run Code Online (Sandbox Code Playgroud)

logs = Deployment.new(:id => deployment.id).get(:logs, opts)
Run Code Online (Sandbox Code Playgroud)