有没有:disable_with等效于link_to_remote?

我有一个link_to_remote,我想确保人们只能在等待它返回时点击一次。

有人点击后有没有一种好方法可以禁用它? (更改链接的文本也很好,但我也想要禁用它以确保)。

这是Ruby on Rails btw。

您无法禁用链接,但您可以更改href。

所以你可以使用:before或:加载钩子来使用javascript“禁用”链接。

我最终更换了以前的链接:像Edgard建议的那样:

<%= link_to_remote "Click Here", {:url => "/some_long_url", :method => :post, :before => "$('#parent').html('#{escape_javascript(link_to("Click Here"))}');"} %>

注意这使用JQuery。 如果你正在使用原型,你可能需要将’.html’方法更改为等效的原型(我相信’.update’)。

然后在进行AJAX调用之后,重新绘制link_to_remote,类似于…

 render :update do |page| page.replace_html 'parent', :partial => 'partial_containing_your_link_to_remote', :locals => {} end 

第一部分中的link_to_remote应该在同一部分中以保持DRY