Рельсы 2 на рельсы 3 тег link_to image_to - PullRequest
0 голосов
/ 09 мая 2011

Это код, который я использую в рельсах 2

<%= link_to_remote image_tag("icon_edit.png", :onmouseover=>"$(this).up('.tooltip-wrapper').down('.tooltip-wrapper-box').show()",:onmouseout=>"$(this).up('.tooltip-wrapper').down('.tooltip-wrapper-box').hide()" ).html_safe, :url => { :controller =>'/resume/contact_detail',:action => 'edit_contact_detail'}, :html => { :class  => "link_grey" },:before => "$('edit_contact_link').hide();show_spinner('view_contact_detail','view_contact_detail_spinner')"  %>

Как мне сделать это в рельсах 3?

Я новичок в ненавязчивом JavaScript, так что кто-то может помочь мне в конвертацииthis?

Я пытался использовать следующее:

<%= link_to  :url => { :controller =>'/resume/contact_detail',:action => 'edit_contact_detail'}, :remote=>true do %>
   <%= image_tag('icon_edit.png', :onmouseover=>"$(this).up('.tooltip-wrapper').down('.tooltip-wrapper-box').show()",:onmouseout=>"$(this).up('.tooltip-wrapper').down('.tooltip-wrapper-box').hide()") %>
<% end %>

Но мне не хватает опции: before: (

Спасибо

1 Ответ

1 голос
/ 09 мая 2011

Вместо использования :before, как в Rails 2.X, определите его как :onclick.

<%= link_to  :url => { :controller =>'/resume/contact_detail',:action => 'edit_contact_detail'}, :remote => true, :onclick => "$('edit_contact_link').hide();show_spinner('view_contact_detail','view_contact_detail_spinner')" do %>
   <%= image_tag('icon_edit.png', :onmouseover=>"$(this).up('.tooltip-wrapper').down('.tooltip-wrapper-box').show()",:onmouseout=>"$(this).up('.tooltip-wrapper').down('.tooltip-wrapper-box').hide()") %>
<% end %>

Событие onclick должно быть запущено до вызова :remote.

См. Мой комментарий к вашему вопросу о том, почему удаленная часть не работает.

...