我正在使用设计进行身份验证。现在,我正在设置用户个人资料。我已经设置了所有内容,但每个页面都可供所有人访问(因此您无需登录即可查看配置文件)。如何制作它以便只有正确的用户才能看到自己的个人资料页面?
users_controller.rb
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
end
的routes.rb
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>
答案 0 :(得分:3)
这个应该有助于检测current_user是否正确。
3-SAT
答案 1 :(得分:0)
在用户和个人资料之间创建一个has_one belongs_to关系。在您的控制器中,您可以包含一些仅显示当前用户配置文件的逻辑。
Pundit是一个很好的宝石,有助于授权 - https://github.com/elabs/pundit