2010-09-08 6 views
5

J'ai une route dans ma demande qui est comme ceci:Obtenez une action URL membre avec ActiveResource

/deployments/:id/logs.json 

Il est utilisé pour récupérer les journaux pour un déploiement spécifique. Sur mon code client, basé à ActiveResource J'ai ceci:

logs = Deployment.find(deployment.id).get(:logs, opts) 

Où est choisit quelques paramètres que j'envoie via la chaîne de requête.

Le problème avec ce code est qu'il casse la requête en deux. Les demandes de méthode Deployment#find:

GET /deployments/:id.json 

Et puis, si cela se trouve, une deuxième requête envoyée:

GET /deployments/:id/logs.json 

Est-il possible de sauter la première requête tout à fait à l'aide Rails 3 sur le serveur et ActiveResource (les exigences actuelles pour activeresource est> = 2.3.5 mais je vais bien le faire si nécessaire)?

MISE À JOUR: Je pense que cela fonctionne si je change:

logs = Deployment.find(deployment.id).get(:logs, opts) 

à

logs = Deployment.new(:id => deployment.id).get(:logs, opts) 

Des commentaires?

Répondre

4

cela fonctionne si je change:

logs = Deployment.find(deployment.id).get(:logs, opts) 

à

logs = Deployment.new(:id => deployment.id).get(:logs, opts) 
Questions connexes