2010-03-16 98 views
2

我曾搜索過此網站,但通常有關於執行客戶端驗證或針對不同框架的問題。Rails和jQuery - 如何在ajax請求後獲得服務器端驗證錯誤

我有一個任務列表,其內容可以內聯編輯。在提交內聯編輯表單後,項目更新全部歸功於jQuery,ajax和rails。

但我想處理來自用戶的錯誤輸入。 HTML請求重新顯示視圖和錯誤顯示感謝鐵幫助。

但是,如何在ajax調用之後插入該信息?

繼承人在我的控制器

def update 
    @task = Task.find(params[:id]) 

    respond_to do |format| 
     if @task.update_attributes(params[:task]) 
     flash[:notice] = 'Task was successfully updated.' 
     format.html { redirect_to(@task) } 
     format.xml { head :ok } 
     format.js 
     else 
     format.html { render :action => "edit" } 
     format.xml { render :xml => @task.errors, :status => :unprocessable_entity } 
     #format.js ...hmmm... either go to js.erb file or do stuff inline 
     end 
    end 
    end 

回答

2

那麼我的更新方法,你可以做

format.js { render :update { |page| page.replace_html "inline_form", :partial => "form" } 

其中inline_form裏面,你的行內編輯坐在元素的ID。 form部分可以包含error_messages_for聲明和您顯示的實際字段。

這樣,如果驗證失敗,編輯器中的元素將使用相同的編輯器更新,但會顯示驗證錯誤。

+0

啊不錯。這非常好。感謝那。 – robodisco 2010-03-16 13:32:19

相關問題