Rails删除升级后无效的链接

时间:2012-09-01 12:33:46

标签: ruby-on-rails ruby hyperlink destroy

使用rails 2.3.8我有

= link_to 'old_Delete', link_path(@link), :confirm => 'Are you sure?',  
:method => :delete

使用rails 3.1.8,这不再有效,没有错误,日志只显示一个show请求。

我尝试将其更改为

= link_to 'Delete', link_path(@link), method: :delete, 
data: { :confirm => 'Are you sure?' }

但这也没有帮助。

如何使用有效的删除链接。

我使用“发布”资源创建了一个新的应用程序(rails 3.2.7),以查看链接在新应用中的外观。

为此生成的链接是:

= link_to 'Destroy', post, method: :delete, data: { confirm: 'Are you sure?' }

但是当我尝试使用该格式时,用@link替换post(Post资源,模型等),我正在页面上其他地方使用的链接实例,即

= link_to 'Destroy', @link, method: :delete, data: { confirm: 'Are you sure?' }

它不起作用(没有错误)。

我尝试在我的public / javascripts文件夹中保存rails.js(我已关闭assest编译)并在我的config / application.rb中包含config.action_view.javascript_expansions[:defaults] = %w(jquery rails)但它没有帮助,仍然看到获取和没有删除发生。

2 个答案:

答案 0 :(得分:2)

正如其他人所说,你可能有一个错字,link vs @link。但删除停止工作的原因可能是UJS的变化。答案很长,google“rails改为3.0中的ujs”。简短回答,请确保您的应用从相应的ujs帮助提供程序加载rails.js,例如https://github.com/rails/jquery-ujs

确保您改变其他更改:

= javascript_include_tag "application"

= javascript_include_tag :defaults

答案 1 :(得分:0)

最后一种方法是你的变量“link”或“@link”?你可以尝试使用后者吗?