Hartl のチュートリアルで Rails を学んでいますが、9.2.3 章のLink to workを取得できます。
このセクションの前はすべて完全に機能していましたが、ここにたどり着いた後、/users/1/edit にアクセスして別のユーザーまたは同じユーザーでログインすると、編集ページではなくユーザー ページにリダイレクトされます。
セッションヘルパー:
def redirect_back_or(default)
redirect_to(session[:return_to] || default)
session.delete(:return_to)
end
def store_location
session[:return_to] = request.fullpath
end
before_filter のユーザー コントローラー メソッド
private
def signed_in_user
unless signed_in?
store_location
redirect_to signin_path, notice: "Please sign in."
end
end
def correct_user
@user = User.find(params[:id])
redirect_to(root_path) unless current_user?(@user)
end
ユーザーコントローラーのフィルターの前
before_filter :signed_in_user,only:[:edit,:update,:index]
before_filter :correct_user, only:[:edit,:update]
これまでの私のコードGithub