【问题标题】:Admin can't delete users. Ruby on Rails 3 - Michael Hartl管理员无法删除用户。 Ruby on Rails 3 - 迈克尔·哈特尔
【发布时间】:2015-01-22 07:31:12
【问题描述】:

我正在关注 Michael Hartl 的 Ruby on Rails 3 教程。我被困在第 10 章)更新、显示和删除用户。在 10.4.2 上,您必须创建管理员并可以选择删除用户,链接不起作用(当我单击删除时)。 我正在使用 ruby​​ v2.1.3 和 rails v4.1.6 代码如下:

_user.html.erb

<li>
 <%= gravatar_for user, :size => 30 %>
 <%= link_to user.name, user %>
  <% if current_user.admin? %> |
   <%= link_to "delete", user, :method => :destroy, :confirm => "You sure?", :title => "Delete #    {user.name}" %>
  <% end %>
</li>

users_controller.rb

def destroy
  @user = User.find(params[:id])
  if current_user?(@user)
    redirect_to users_path, notice: "You can't destroy yourself."
  else
    @user.destroy
    flash[:success] = "User destroyed."
    redirect_to users_path
  end
end

在我的 localhost:3000/users 我有以下示例:

test | delete
Pearl Hyatt | delete
etc.

单击删除链接后,它应该删除用户,而是转到他/她的个人资料并且什么都不做。 欢迎任何建议!

【问题讨论】:

  • 检查 JS 文件中的错误,例如在浏览器的错误控制台中。
  • 哇!!这很尴尬,jquery 没有调用我的文档。无论如何,我调用了 jquery,现在它重定向了我的主页,但用户仍然存在。
  • 显示应用程序日志的相关部分。

标签: ruby-on-rails admin


【解决方案1】:

解决了这个问题。调用jquery(我的错)并更改链接后:

<%= link_to "delete", user, :method => :destroy, :confirm => "You sure?", :title => "Delete #{user.name}" %>

到:

<%= link_to "delete", user, :method => :delete, :confirm => "You sure?", :title => "Delete #{user.name}" %>

链接开始正常工作,闪烁消息和删除操作都正常。 无论如何,感谢您的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    相关资源
    最近更新 更多