J'essaie de faire fonctionner des routes personnalisées dans mon application Rails (Ruby 1.9.2 avec Rails 3).Créer des routes personnalisées et des pages de connexion
Ceci est mon fichier config/routes.rb
match '/dashboard' => 'home#dashboard', :as => 'user_root'
devise_for :user do
get "/login", :to => "devise/sessions#new" # Add a custom sign in route for user sign in
get "/logout", :to => "devise/sessions#destroy" # Add a custom sing out route for user sign out
get "/register", :to => "devise/registrations#new" # Add a Custom Route for Registrations
end
Mais en soumettant le formulaire de connexion/ou/registre va aux utilisateurs/sign_in et les utilisateurs/sign_up. Comment puis-je empêcher cela. Ou mieux encore, assurez-vous que par défaut toutes les demandes d'utilisateurs/sign_in etc vont sur les routes pertinentes et non sur les routes par défaut générées par Devise.
Comment puis-je rendre partiel le formulaire de connexion pour l'inclure dans n'importe quel contrôleur? Pour que je puisse avoir la page de connexion sur la page d'accueil (home # index) et non sur les utilisateurs/sign_in? J'utilise Devise 1.1.3 avec Rails 3 sur Ruby 1.9.2, sous Mac OSX Snow Leopard.
Merci!
Dans le code que vous mettez ": path", dans le texte que vous avez dit ": as", fixe. – tokland
notice Devise 2.1.2 (version plus récente) utilise le pluriel 'devise_for: users' – AJcodez
Cette approche fonctionne, mais vous êtes bloqué en utilisant les helpers de Devise path par défaut comme' new_user_session_path'. Pour obtenir des helpers comme 'login_path', vous pouvez mettre le bloc' devise_for: user do' que l'OP a juste en dessous de cette réponse, et vous obtiendrez le meilleur des deux mondes. –