在Rails3 +中禁用link_to标记

lam*_*rin 10 ruby-on-rails

我使用了以下代码:

<%= link_to image_tag("edit.png", :alt => "Edit"), edit_user_path(user) %>
Run Code Online (Sandbox Code Playgroud)

我想禁用此链接和图像,所以我添加:disabled=>true到代码中,但它没有禁用.为什么不,以及如何禁用它们?

Cla*_*abe 10

我不确定@lamrin想要这个问题,但我想它是这样的:

<%= link_to_if condition?, image_tag("edit.png", :alt => "Edit"), edit_user_path(user) %>
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,如果条件,图像将有一个链接?是真的

在我的情况下,下面的代码工作(一个更复杂的例子):

link_to_unless disabled, (content_tag :div, "", :class => "vote " + vote_class, :title => title), resource_user_path({ :id => resuser.id, :resource_user => {:id => resuser.id, :resource_id => resource_id, :user_id => current_user_id, :vote => vote_value}}), :remote => true, :method => http_method  
Run Code Online (Sandbox Code Playgroud)

此链接也可能有助于此方法:

http://railskey.wordpress.com/2012/07/19/rails-link_to-link_to_if-and-link_to_unless/


Gau*_*pta 8

与按钮不同,超链接不能"禁用".您可以执行以下操作,假设您的网页上包含jQuery:

<%=link_to image_tag("edit.png", :alt=>"Edit"), edit_user_path(user), :id => "mylink" %>
Run Code Online (Sandbox Code Playgroud)

将以下Javascript添加到您的页面:

$('#mylink').click(function(e){
  e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)