当我尝试从 Rails 的项目中删除用户时,我遇到了一些奇怪的行为。
简而言之,我的视图中有一个链接,允许管理员用户删除另一个用户:
<%= link_to 'Delete User', user, :method => :delete, :confirm => "Are you sure?" %>
这是我的用户控制器中的代码:
# DELETE /users/1
# DELETE /users/1.json
def destroy
@user = User.find(params[:id])
@user.destroy
respond_to do |format|
format.html { redirect_to users_url }
format.json { head :no_content }
end
end
但是,当用户被删除时,弹出“您确定吗?” 框出现两次,然后出现以下错误:
ActiveRecord::RecordNotFound in UsersController#destroy
Couldn't find User with id=xxx
其中“xxx”是刚刚删除的用户 ID。
做了一些搜索,有人建议这与我的项目中加载 JavaScript 的方式有关,并且可能与 jQuery 冲突(我正在使用jquery-rails
gem)。但是,我的application.html.erb
文件似乎很好:
<%= stylesheet_link_tag "application","http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/smoothness/jquery-ui.css" %>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
我的 application.js 文件也是如此:
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require_tree .
所以,我不确定为什么会这样——这是我第一次遇到这个错误。
有人愿意为我指出正确的方向吗?
谢谢!