Отключить тег link_to в Rails3 + - PullRequest
       0

Отключить тег link_to в Rails3 +

10 голосов
/ 03 августа 2011

Я использовал следующий код:

<%= link_to image_tag("edit.png", :alt => "Edit"), edit_user_path(user) %>

Я хочу отключить эту ссылку и изображение, поэтому я добавил :disabled=>true к коду, но он не отключается.Почему нет и как их отключить?

Ответы [ 5 ]

10 голосов
/ 27 ноября 2013

Я не уверен, что @lamrin хотел с этим вопросом, но я предполагаю, что это что-то вроде этого:

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

С этим кодом выше, изображение будет иметь ссылку, если условие? верно

В моем случае сработал следующий код (более сложный пример):

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  

Эта ссылка также может помочь при таком подходе:

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

7 голосов
/ 03 августа 2011

В отличие от кнопок, гиперссылки не могут быть «отключены».Однако вы можете сделать следующее, если на ваших страницах есть jQuery:

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

Добавьте следующий Javascript на свою страницу:

$('#mylink').click(function(e){
  e.preventDefault();
});
1 голос
/ 18 февраля 2016

В ответе на ваш вопрос нет опции: disabled для хелпера link_to в Rails, и он также не является допустимым атрибутом для элементов. Я считаю, что причина, по которой люди путаются с этим в Rails, заключается в том, что ": disabled => true" работает, если вы используете Bootstrap. Поэтому, чтобы решить эту проблему, вы можете либо следовать подходу Гупты, либо просто добавить Bootstrap (который также даст вам немного CSS по умолчанию, чтобы люди не расстраивались при попытке перейти по ссылке)!

Re: метод link_to в рельсах: http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to)

Re: атрибут «disabled» для элементов: Является ли «disabled» допустимым атрибутом для тега привязки

Re: Bootstrap "отключен" класс или атрибут с начальной загрузкой: http://getbootstrap.com/css/#anchor-element-1

0 голосов
/ 03 августа 2011

Вы можете использовать условное link_to:

<%=
 link_to_if(@current_user.nil?, "Login", { :controller => "sessions", :action => "new" }) do
   link_to(@current_user.login, { :controller => "accounts", :action => "show", :id => @current_user })
 end
%>
0 голосов
/ 03 августа 2011

1) Одним из решений является визуализация только image_tag, когда вы не хотите ссылаться, и использование link_to, когда вы хотите, чтобы ссылка была включена. Вы можете использовать переменные экземпляра для управления тем, что визуализировать.

2) или используйте Javascript, как предложено.

Используйте 2, если вы хотите сделать это динамически.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...