2011-05-18 66 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 %> 

我希望这有助于。