Dans Ruby on Rails, est-il possible de changer une action par défaut pour une ressource RESTful, alors quand quelqu'un, par exemple, va dans/books il obtient: new au lieu de listage (cela m'est égal si cela ne veut pas dire être capable de montrer la liste plus)?Est-il possible de changer l'action par défaut pour une ressource RESTful?
1
A
Répondre
2
Je tiens à préciser que si vous pointez/livres vers/livres/nouveau, vous allez confondre toute personne qui attend REST. Si vous ne travaillez pas seul, ou si vous en avez d'autres à venir plus tard, ou si vous prévoyez d'exposer une API à l'extérieur, la convention REST est que/books vous amène à une liste,/books/new est où vous créez un nouvel enregistrement.
0
Oui. Vous devriez être en mesure de remplacer votre méthode d'index dans votre contrôleur ...
def index
@resource = Resource.new
# have your index template with they proper form
end
2
Je ne sais pas pourquoi voudriez-vous faire une telle chose, mais il suffit d'ajouter ce
map.connect "/books", :controller => "books", :action => "new", :conditions => { :method => :get}
à votre config/routes.rb avant le
map.resources :books
et cela devrait fonctionner.
0
Dans la même veine, vous pouvez juste faire
def index
show
end
0
def index
redirect_to new_book_path
end
Je pense que ce serait le moyen le plus simple.
Questions connexes
- 1. Renommez une ressource de manière RESTful
- 2. Est-il possible de changer l'objectif par défaut de maven?
- 3. Comment le code peut-il être une ressource pour Restful?
- 4. Comment changer l'éditeur par défaut d'oracle 9i?
- 5. Changer le thème par défaut de "project.net"
- 6. Comment changer NLS_DATE_FORMAT par défaut pour le client Oracle jdbc
- 7. Trombone - Style par défaut par style? Possible
- 8. Conventions par défaut de NHibernate par défaut
- 9. Comment changer le navigateur d'aide par défaut pour VS2010?
- 10. Qu'est-ce qu'un moyen RESTful de surveiller une ressource REST pour les changements?
- 11. will_paginate -> Comment changer l'URL par défaut?
- 12. Instructions pour changer l'encodage par défaut d'un site Django
- 13. SingleOrDefault: Comment changer les valeurs par défaut?
- 14. Est-il possible de changer l'outil de comparaison par défaut dans Mercurial?
- 15. changer l'emplacement du fichier par défaut pour vb.net
- 16. Comment puis-je changer la configuration par défaut pour WCF?
- 17. Comment changer le framebuffer par défaut pour Android?
- 18. Comment changer le toolpath par défaut pour Visual Studio 2008?
- 19. Ok pour utiliser VirtualProtect pour changer de ressource dans Delphi?
- 20. Changer VS 2010 peau par défaut
- 21. Comment changer d'aide par défaut de message disponible
- 22. Comment changer par défaut Droit d'auteur Modèle
- 23. ANTS Profiler: Changer le navigateur par défaut?
- 24. Red5 changer l'emplacement par défaut de stocker des fichiers multimédia
- 25. PuTTY: Changer le répertoire de connexion SSH par défaut
- 26. Comment faire de l'action "edit" l'action par défaut?
- 27. Puis-je changer le fichier de configuration par défaut?
- 28. Comment changer les configurations de studio visuel par défaut?
- 29. Comment changer la police par défaut pour une langue/unicode Windows
- 30. Android: changer la ressource pressée/ciblée par le code
En fait, c'est une convention Rails, pas une convention REST. En fait, tout client qui tire parti de cette convention pour construire des URL enfreint la contrainte d'auto-description REST en utilisant des connaissances hors bande. –