0

使用 rails 2.3.8 我有

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

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

我尝试将其更改为

= 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,即我在页面其他位置使用的链接实例,即

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

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

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

4

2 回答 2

2

正如其他人所说,您可能有一个错字,link@link. 但是删除停止工作的原因可能集中在对 UJS 的更改上。长答案,谷歌“rails 在 3.0 中更改为 ujs”。简短的回答,确保您的应用程序是rails.js 从适当的 ujs 助手提供程序加载的,例如https://github.com/rails/jquery-ujs

确保与您更改的其他更改一起:

= javascript_include_tag "application"

= javascript_include_tag :defaults
于 2012-09-01T12:46:51.007 回答
0

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

于 2012-09-01T12:41:38.187 回答