Rails:使用UJS时处理渲染的JSON

时间:2012-09-12 11:07:10

标签: ruby-on-rails ruby-on-rails-3 json ujs

我通过允许使用UJS提交AJAX表单来增强我的应用程序。这是我的create#product action:

def create

    if Product.create params[:product]
        respond_to do |format|

            message = "New product created."
            format.html { redirect_to :back, :notice => message }
            format.js { render :json => { :status => true, :message => message } }

        end
    end

end

但我正在弄清楚如何在我的views/products/create.js.erb文件中处理输出的JSON?

我尝试了这个简单的console.log示例,但没有成功(我的意思是,没有控制台输出):

$(function(){
    console.log(xhr.responseText);
});

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用:

$('form.new_product').bind('ajax:success',function(event, data, status, xhr){

});

$('form.new_product').bind('ajax:error',function(event, xhr, status, error){

});

甚至是$('form.new_product').on(same_args)

请确保new_product是表单的实际类。