2009-07-24 31 views
0

我想從由某些Rails代碼生成的HTML表中移除一行,並且希望其他行能夠「向上滑動」到新的位置。使AJAX效果與RubyOnRails一起工作的問題

我對此很陌生,我敢肯定我可能犯了一個簡單的錯誤。

下面是部分代碼來生成錶行:

<tr id="ride_<%=h ride.id %>"> 
    <td><%=h ride.name %></td> 
    <td><%=h ride.land %></td> 
    <td align="right"><%=h ride.height_restriction %></td> 
    <td><%= link_to_remote 'remove', :url => { :action => :destroy, :ride_id => ride.id }, :html => {:onclick => "Effect.SlideUp('ride_" + ride.id.to_s + "')"} %></td> 
</tr> 

,這裏是從局部生成的HTML:

<tr id="ride_130"> 
    <td>thrill ride</td> 
    <td>fun land</td> 
    <td align="right">40</td> 
    <td><a href="#" onclick="Effect.SlideUp('ride_130'); new Ajax.Request('/SimpleRailsApp/rides/destroy?ride_id=130', {asynchronous:true, evalScripts:true, parameters:'authenticity_token=' + encodeURIComponent('9f2334b84d2da7eddfbfaadf8138c0a1c8feca47')}); return false;">remove</a></td> 
</tr> 

現在,行刪除好了,但我不」不會得到很酷的AJAX效果。它只是「快照」。

到目前爲止「泡芙」是我能夠發揮作用的唯一效果。

任何幫助或建議,將不勝感激。

UPDATE

難道說這個效果不表元素的內部工作?我已經嘗試了無序列表中幾乎精確的代碼,它似乎工作正常。

我也發現這個other question表示動畫不能在jQuery的表中工作,所以我可能在這裏運氣不好。

回答

0

由於動畫是「捕捉」,你可能想嘗試加入時間的選擇: Effect.SlideUp('id_of_element', { duration: 3.0 });

+0

我試過了,它仍然不起作用。下面是生成的HTML ... ​​remove Vinnie 2009-07-24 18:20:33

0

是否包含默認的JS庫?

<%= javascript_include_tag :defaults %> 
+0

是的,其實我有<%= javascript_include_tag:所有%> – Vinnie 2009-07-24 18:58:49

+0

怪異......好吧我媒體鏈接管理做一個效果基本show在TR所以這是可能的。 – marcgg 2009-07-24 19:58:35