我有一個表格,我(使用原型和內置的軌道「form_remote_tag」助手)通過AJAX提交。
我想更新一個div(一個狀態區),如果有表單驗證錯誤,但是如果提交成功完成,則會有一個不同的div(表單所在的div)。更新不同的div
我的代碼看起來是這樣的:
<div id="recipe-status"><!-- I want form validation errors to go here --></div>
<div id="recipe">
<%= form_remote_tag(:update => "recipe-status",
:before => "Element.show('wait-indicator')",
:success => "Element.hide('wait-indicator')",
:complete => visual_effect(:appear, "recipe-status"),
:url => { :action => 'import', :id => @recipe.id },
:failure => "alert('Unable to import recipes at present')") %>
<-- Form goes here, I want this to be replaced if the submit succeeds -->
</div>
我能想到這樣做的唯一方法是返回一個HTTP錯誤狀態,如果有一個驗證錯誤,但似乎像一個黑客攻擊的一位。 有沒有更乾淨的方法呢?
你是否建議我的函數返回JSON而不是模板?我確實認爲這是一個解決方案,但它似乎很難將錯誤消息傳回。 或者你只是建議我從Prototype切換到JQuery? – 2008-11-19 18:51:00
我建議換掉jQuery。無需JSON,觀看上面鏈接的jQuery Railscasts,它基本上解釋了您的任務所需的一切。 – mwilliams 2008-11-19 18:56:25