为什么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
不起作用。 尝试删除它。