Tout d'abord, entrez le code suivant sur le terminal.
terminal.
$ rails g controller users
Entrez ensuite ce qui suit dans la gamme.
routes.rb
devise_for :users
root "photos#index"
resources :users, only: [:edit, :update]
La signification des ressources signifie les ressources en japonais, et je pense que cela peut être interprété comme l'utilisation des fonctions d'édition et de mise à jour des utilisateurs.
Puis modifiez le contrôleur.
users_controller.rb
def edit
end
def update
if current_user.update(user_params)
redirect_to root_path
else
render :edit
end
end
private
def user_params
params.require(:user).permit(:name, :email)
end
(1) current_user est une méthode d'aide de devise, et vous pouvez obtenir les informations utilisateur lors de la connexion. (2) redirect_to transfère vers un chemin différent du chemin reçu à l'origine. Ce qui précède signifie le transfert vers root_path. ③ Si ce qui précède échoue, render appellera edit. ④ private est une méthode privée qui ne peut pas être appelée depuis l'extérieur de la classe. Le mérite -Isolate les méthodes en difficulté si elles sont appelées depuis l'extérieur de la classe -Readability, lors de la recherche d'une méthode appelée depuis l'extérieur de la classe, vous n'avez pas à lire la partie ci-dessous private. (5) user_params Ce qui suit sont des paramètres forts qui ne reçoivent que des paramètres avec la clé spécifiée. ⑥ Demandez à l'utilisateur dans le paramètre strong d'obtenir l'autorisation pour: nom,: email. Utilisez binding.pry immédiatement après la mise à jour pour voir les détails.
Recommended Posts