根據Simone Carletti blog post,Rails 3 ajax幫助程序發生了很大變化。我們應該用rails 3編寫更多的javascript,比我們以前用rails 2編寫的版本更高。Rails 3 UJS驅動程序事件
我試圖弄清楚如何顯示ajax加載gif,而ajax查詢正在運行 - 「rails 3 way」 。我想出了這種代碼,它使用Rails 3 UJS驅動程序發送的JavaScript事件。這個例子使用的原型:
<div id="wait" style="display:none">
<img src="/images/ajax-loader.gif"> Please wait...
</div>
<div>
<%= link_to 'Get', 'finished', :id => "mylink", :remote => true %>
</div>
<%= javascript_tag do %>
Event.observe('mylink', 'ajax:before', function(event) {
$('wait').show();
});
Event.observe('mylink', 'ajax:complete', function(event) {
$('wait').hide();
});
<% end %>
這個效果很好,但我想這是可能寫出這些AJAX事件「觸發」與原型和Scriptaculous助手的幫助下,只是當我們用link_to_function例如喜歡:
<%=
link_to_function("toggle visibility") do |page|
page.toggle "wait"
end
%>
有沒有辦法做到這一點,或者我們應該直接在javascript中編寫ajax事件「觸發器」,無論是原型還是jQuery?
最好的問候,
菲利普郎
這個答案現在是三歲,所以你可能已經改變了你對這個問題的看法,可能是時候評論一下更好的方法了。我認爲沒有建設性的接受這樣的答案,這種答案几乎違背了網絡開發的所有良好實踐。 – eloyesp 2013-10-18 13:03:39
是的,我同意這是令人難以置信的老,現在沒有任何價值。這個問題不僅需要更新答案:而是關於舊框架版本的舊技術。它可以簡單地刪除。 – plang 2013-10-20 20:06:12