En essayant de faire une page de connexion pour mon application de rails qui ressemble à "www.domain.com" et lorsque vous vous connectez, vous êtes toujours dans le domaine "www.domain.com ". Est-il possible de mapper 2 actions différentes à la même URL en utilisant des routes? Twitter le fait de cette façon, vous vous connectez à twitter.com et une fois connecté, vous êtes toujours sur twitter.com. Après une connexion réussie, redirigez-vous vers l'URL racine.2 pages utilisant la même URL en utilisant les voies
3
A
Répondre
0
routes.rb
map.resources :landings
# let's assume that, home page corresponds to landings/index
map.root :controller => "landings", :action => "index"
UserSessionsController
def create
@user_session = UserSession.new(params[:user_session])
if @user_session.save
redirect_to root_url
else
render :action => :new
end
end
1
Vous ne pouvez pas le faire en modifiant simplement les routes, mais vous pouvez faire une sorte de déclaration conditionnelle dans votre contrôleur .
def index
if logged_in
render :action => 'show'
else
render :action => 'new'
end
end
def show
...
end
def new
...
end
Il y aura de nombreuses façons de le faire, bien sûr.
Questions connexes
- 1. Kohana 3: en utilisant les voies maintenables
- 2. Deux pages utilisant la même URL en fonction du statut de connexion
- 3. meilleure façon de convertir les URL de pages dynamiques aspx en URL conviviales utilisant asp.net
- 4. 2 voies SSL avec CherryPy
- 5. SQL: 2 compte en utilisant les jointures?
- 6. Validez 2 listes en utilisant FluentValidation
- 7. Trouver toutes les URL sur la page en utilisant jQuery
- 8. Nettoyer les URL en utilisant la classe de routeur OpenCart
- 9. URL récrire en utilisant .htaccess
- 10. Envoyez certains paramètres à la même page en utilisant jquery.ajax
- 11. URL Embellissement utilisant .htaccess
- 12. Pages dynamiques utilisant FPDF
- 13. Accélérer les chargements de pages en utilisant des API externes
- 14. écrire des pages d'administration en utilisant asp.net
- 15. Je suis en train d'optimiser ce code c en utilisant la boucle 4 voies
- 16. test local pour les sous-domaines en utilisant URL rewriter, Asp.Net 2
- 17. en utilisant les deux: url et: function sur observer_form
- 18. Pourquoi un même URL ouvre-t-il différentes pages Web?
- 19. Comment envoyer des valeurs entre les pages en utilisant javascript?
- 20. Bonne façon d'initialiser les pages en utilisant Zend_Navigation
- 21. Cryptage 1 voie et cryptage 2 voies
- 22. Comment gérer toutes les URL d'une page en utilisant PHP?
- 23. Silverlight passant des paramètres entre les pages en utilisant HyperlinkButton
- 24. Suivre une URL en utilisant JavaScript
- 25. bonne américaine passerelle sms 2 voies
- 26. frapper une URL en utilisant java
- 27. 2 domaines utilisant le même hôte, mais routés différemment
- 28. dans les voies
- 29. en utilisant doctrine 2 avec SQL Server
- 30. URL Alias utilisant .htaccess
Vous avez raison, mais 'render: action => 'show'' n'exécute pas cette action. Il ne rend qu'une vue correspondante. Donc, tout ce qu'il faut faire dans les actions 'show' et 'new' doit être fait dans l'action 'index' (selon votre nom). – klew
@kley - Bon point. Il peut être préférable d'utiliser une redirection, sinon initialisez tout ce dont vous auriez besoin pour l'action avant d'appeler le rendu. – Karl
Si vous utilisiez la redirection, l'URL changerait. @espinet ne veut pas que ça change :) – klew