・ Rails 5 ・ La fonction de connexion a été implémentée à l'aide de l'appareil
Changez l'écran d'affichage selon que vous êtes connecté ou non
view.rb
<% if user_signed_in? %>
Si vous n'êtes pas connecté, passez à l'écran de connexion
controller.rb
before_action :authenticate_user!
Si vous l'écrivez uniquement du côté de la vue, vous pouvez le modifier en tapant directement l'url, donc écrivez-le également du côté du contrôleur.
controller.rb
@book = Book.find(params[:id])
if @book.user == current_user
render "edit"
else
redirect_to books_path
end
view.rb
<% if @book.user == current_user %>
〜〜〜〜〜
<% end %>
Autrement
controller.rb
before_action :ensure_correct_user, only: [:edit, :update]
def ensure_correct_user
unless @user == current_user
redirect_to user_path(current_user)
end
end
if instruction → Si l'évaluation est vraie(true)Si oui, faites ○○
sauf déclaration → Si l'évaluation est fausse(false)Si oui, faites ○○
Puisque l'auteur est un débutant, je pense qu'il y a des erreurs et un manque d'explication. Je vous serais reconnaissant si vous pouviez le signaler dans ce cas.
https://qiita.com/tobita0000/items/866de191635e6d74e392
Recommended Posts