如何阻止登录用户删除自己的accont

时间:2016-01-17 18:06:59

标签: ruby-on-rails ruby ruby-on-rails-4

我不知道如何做到这一点,但我想阻止登录的用户删除他们的用户

在我的user_controller.rb

def destroy
    @user.destroy
    redirect_to users_url
end

在我的user / index.html.erb中我有

<td><%= link_to 'Delete', user, confirm: 'Are you sure?', method: :delete %></td> 

3 个答案:

答案 0 :(得分:0)

您可以使用Link to If helper

http://apidock.com/rails/v4.1.8/ActionView/Helpers/UrlHelper/link_to_if

<%= link_to_if(current_user != user,'Delete', user, confirm: 'Are you sure?', method: :delete )%>

答案 1 :(得分:0)

假设您正在使用devise

<% unless user_signed_in? %>
  <td><%= link_to 'Delete', user, confirm: 'Are you sure?', method: :delete %></td> 
<% end %>

答案 2 :(得分:0)

link_to_unless

会更加冗长。

我遇到了一些link_to_if的麻烦。你可以使用:

<% unless @current_user == user %>
   #your link
<% end %>