Ruby on rails Rails用户配置文件页只能由正确的用户访问
我正在使用Desive进行身份验证。现在,我正在设置用户配置文件。我已经设置好了一切,除了每个人都可以访问每个页面(这样你就可以在不登录的情况下查看个人资料)。我如何做到只有正确的用户才能看到他们自己的个人资料页面 用户\u控制器.rbRuby on rails Rails用户配置文件页只能由正确的用户访问,ruby-on-rails,ruby,devise,Ruby On Rails,Ruby,Devise,我正在使用Desive进行身份验证。现在,我正在设置用户配置文件。我已经设置好了一切,除了每个人都可以访问每个页面(这样你就可以在不登录的情况下查看个人资料)。我如何做到只有正确的用户才能看到他们自己的个人资料页面 用户\u控制器.rb class UsersController < ApplicationController def show @user = User.find(params[:id]) end end devise_for :users reso
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
end
devise_for :users
resources :users, only: [:show]
get 'users/show'
显示视图…
<div class="home-page-content">
<%= @user.id %>
<h1>Users#show</h1>
<p>Find me in app/views/users/show.html.erb</p>
</div>
用户展示
在app/views/users/show.html.erb中查找我
这一项应该有助于检测当前用户是否正确
class UsersController < ApplicationController
before_action :check_user
private
def check_user
if current_user != @user
redirect_to root_url, alert: "Sorry, This Profile belongs to someone else !"
end
end
end
class UsersController
创建一个属于用户和配置文件之间的关系。在控制器中,可以包含一些仅显示当前用户配置文件的逻辑
Pundit是一个很好的宝石,有助于授权-您可能会发现宝石很快就会派上用场。答案是针对你的特定问题的最佳方式。