J'ai implémenté une fonction de connexion / déconnexion qui utilise le dispositif sur rails. J'étais en train de passer à la page de confirmation lors de la déconnexion J'ai trébuché, alors je vais écrire un article. S'il existe un meilleur moyen, veuillez l'écrire dans la section des commentaires ou modifier la demande. : bow_tone2:
--Description de haml (gem'haml-rails ') --devise est installé et vous pouvez vous connecter
** respond_to_on_destroy ** de sessions_controller est décrit par défaut Il était censé être transféré vers root_path. Supprimez donc le code ici. Vous pouvez accéder à la page de destination de l'URL en y écrivant ** render'URL de destination de la transition '**.
controllers/users/sessions_controller.rb
def destroy
signed_out = (Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name))
set_flash_message! :notice, :signed_out if signed_out
yield if block_given?
respond_to_on_destroy #Default description ← Code supprimé
render'URL de destination de la transition '# Décrivez l'URL de destination de la transition avec le rendu ← Entrez le code
end
J'ai créé un fichier destroy.html.haml dans users / destroy
.
python
%h1 Vous vous êtes déconnecté.
= link_to "Revenir à ma page", "/"
** sessions: sessions personnalisées en ajoutant "utilisateurs / sessions" **! !!
python
devise_for :users, controllers: {
registrations: "users/registrations",
sessions: "users/sessions" #Personnaliser
}
Personnalisez également votre routage! Méthode HTTP **: supprimer **, URL, nom du contrôleur # nom de l'action
devise_scope :user do
get 'profiles', to: 'users/registrations#new_profile'
post 'profiles', to: 'users/registrations#create_profile'
get 'addresses', to: 'users/registrations#new_address'
post 'addresses', to: 'users/registrations#create_address'
delete 'users/destroy', to: 'devise/sessions#destroy' #Postscript
end
Mettez les deux ensemble
routes.rb
devise_for :users, controllers: {
registrations: "users/registrations",
sessions: "users/sessions" #Personnaliser
}
devise_scope :user do
get 'profiles', to: 'users/registrations#new_profile'
post 'profiles', to: 'users/registrations#create_profile'
get 'addresses', to: 'users/registrations#new_address'
post 'addresses', to: 'users/registrations#create_address'
delete 'users/destroy', to: 'devise/sessions#destroy' #Postscript
end
J'ai senti que je ne comprenais toujours pas MVC. C'était un problème que je pouvais résoudre immédiatement après avoir réfléchi calmement. Et j'ai du mal à rédiger des démarques. Il a fallu beaucoup de temps pour écrire un article, donc je dois être rapide ... Je sortirai plus.
Shouma </ font>
Recommended Posts