为什么Delete链接在这个Ruby on Rails项目中不起作用?

我正在练习Michael Hartl的这个RoR教程项目: http : //ruby.railstutorial.org/ruby-on-rails-tutorial-book

我在Ubuntu 11.04上使用Ruby 1.9.2和Rails 3.1与Apache和MySQL。

我现在在这里: http : //ruby.railstutorial.org/chapters/updating-showing-and-deleting-users#sec : destroying_users (我有用户列表和每个用户的删除链接,我是管理员)。

这是应该工作的删除链接:

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

但是,当我鼠标hover时,我看到:“localhost / users / 2”(例如)当我点击“删除”链接时,它会将我引导至用户的个人资料。 我没有得到任何确认窗口,也没有进行任何操作(删除)。 这就像是他们个人资料的链接而已。 我使用Chrome但在Firefox中是相同的。

这就是我所拥有的:

1)安装了gem“jquery-rails”

2)applications.js(来自app / assets / javascripts)有以下几行:

 //= require jquery //= require jquery_ujs //= require_tree . 

3)application.html.erb(来自app / views / layouts)有以下几行:

   

在视图源中,我看到:

     

4)在users_controllers.rb(来自app / controllers)我有:

  before_filter :authenticate, :only => [:index, :edit, :update, :destroy] before_filter :correct_user, :only => [:edit, :update] before_filter :admin_user, :only => :destroy def destroy User.find(params[:id]).destroy flash[:success] = "User destroyed." redirect_to users_path end private def admin_user redirect_to(root_path) unless current_user.admin? end 

5)在routes.rb(来自配置)我有:

 resources :users 

删除链接有什么问题? 我搜索了StackOverflow的答案,但显然我找不到一个适合我的情况。

在同一个RoR项目中,使用Ajax的follow / unfollow按钮工作得很好(暂时不能在这里发布第二个链接因为我刚注册到SO)。

那么,为什么链接不起作用? 这是一个Javascript问题还是其他一些我没有看到的问题?

谢谢。

尝试使用

  <%= javascript_include_tag "application" %> 

而不是:默认值

尝试将其切换为button_to“删除”而不是link_to“删除”当没有其他任何内容时,这对我有用

确保您拥有resources :users文件中的resources :users 。 这应该给你基本的CRUD路由。

在我目前使用的Rails 3.1项目中

 <%= link_to 'Destroy', rest_datatype, :confirm => 'Are you sure?', :method => :delete %> 

我最近遇到过这个问题。 试着看看

 config/application.rb: 

让我们看看是否有一个字符串

 Rails.logger = Logger.new(STDOUT) 

因此,不编译或加载js库。 因此,方法method:: delete不起作用。 尝试删除它。