删除链接已停止工作data-method ='delete'但转到显示页面

时间:2014-08-02 13:20:39

标签: ruby-on-rails hyperlink destroy custom-data-attribute

我刚注意到我的应用程序中的所有各种删除链接现在只是显示页面。这个应用程序从rails 2.3.8开始,现在是rails 3.2.17

rails代码示例:

控制器,

def destroy
  @group = Group.find(params[:id])
  @group.destroy    
  respond_to do |format|
    format.html { redirect_to(groups_url) }
    format.xml  { head :ok }
  end
end 

def destroy
  @link = Link.find(params[:id])
  @link.destroy
  respond_to do |format|
    format.html { redirect_to(links_url) }
  end 
end 

生成:

HTML,

<a rel="nofollow" data-method="delete" data-confirm="Sure?" href="/groups/35">
x
</a>

<a rel="nofollow" data-method="delete" data-confirm="Sure?" href="/links/8">
x
</a>

我注意到我有,

= javascript_include_tag "application"

在我的应用程序布局模板中,我尝试将其更新为

= javascript_include_tag :defaults

但它没有帮助解决这个问题,仍然会显示页面而不是删除,更糟糕的是,这样做会阻止我的所有其他javascript工作!例如让用户继续搜索自动字段,日期选择日历等

我的application.js文件有:

//= require jquery-1.7.2.min
//= require jquery-ui-1.8.22.custom.min
//= require default_on_first_input_field
//= require row_shading
//= require long_or_short_details
//= require sortable_hook
//= require date-picker
//= require_self

1 个答案:

答案 0 :(得分:4)

答案是我需要添加这一行:

//= require jquery_ujs

到我的js清单。这解决了它。我的清单现在看起来像:

// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
//
//= require jquery-1.7.2.min
//= require jquery-ui-1.8.22.custom.min
//= require jquery_ujs
//= require default_on_first_input_field
//= require row_shading
//= require long_or_short_details
//= require sortable_hook
//= require date-picker
//= require_self