2011-05-18 105 views
1

使用標準update操作與remote表單結合使用時,用戶通過AJAX提交一小部分數據,然後將其作爲javascript發送到操作,並使用format.js檢查保存在JS中的記錄

def update 
    @message = Message.where("recipient_id = ? AND id = ?", current_user.id, params[:id]).first 
    respond_to do |format| 
    if @message.update_attributes(params[:message]) 
     format.html { redirect_to(@message, :notice => 'Message updated.') } 
     format.xml { head :ok } 
     format.js 
    else 
     format.html { render :action => "edit" } 
     format.xml { render :xml => @message.errors, :status => :unprocessable_entity } 
     format.js 
    end 
    end 
end 

這生成一個名爲update.js.erb JS文件,我用它來呈現文本和效果來顯示用戶的操作是否成功。

如何檢查update.js.erb是否保存該記錄?

目前,我在控制器中做了一個極其不雅的@success = true,我在js.erb文件中測試以決定要渲染的文本/效果。一定會有更好的辦法。

回答

0

嗨有關使用該什麼:

<% if @message.errors.empty? %> 
    SUCCESS 
<% else %> 
    FAIL_CODE 
<% end %> 

我希望這有助於。