源代码:
<td class="delete">
<%= link_to 'Destroy',
expense,
:confirm => 'Are you sure?',
:method => :delete,
:class => "btnDelete" %></td>
Rails 2 生成:
<td class="delete">
<a href="/expenses/18051" class="btnDelete"
onclick="
if (confirm('Are you sure?')) {
var f = document.createElement('form');
f.style.display = 'none';
this.parentNode.appendChild(f);
f.method = 'POST';
f.action = this.href;
var m = document.createElement('input');
m.setAttribute('type', 'hidden');
m.setAttribute('name', '_method');
m.setAttribute('value', 'delete');
f.appendChild(m);
var s = document.createElement('input');
s.setAttribute('type', 'hidden');
s.setAttribute('name', 'authenticity_token');
s.setAttribute('value','MTAoIigmzVSh39na4GRcpnOQXe1yMQkOYGnzCvZI0Xk=');
f.appendChild(s);
f.submit();
};
return false;
">Destroy</a></td>
Rails 3 生成:
<td class="delete">
<a href="/expenses/17732" class="btnDelete" data-confirm="Are you sure?"
data-method="delete" rel="nofollow">Destroy</a>
</td>
该页面的运行方式与使用生成 js 在 rails 2 上的方式不同,并且该应用程序不使用 jquery(还)。我提到 jquery 是因为谷歌搜索 data-confirm 和 data-method 属性会得到命中,这意味着他们需要 jquery 才能做任何事情。
是否有一些参考文档可以处理 data-confirm 和 data-method 属性的功能要求和/或 rails 3 期望哪些可以使链接到帮助程序生成的代码按预期工作?