2012-02-06 69 views
2

我在Rails中显示了一个帐户设置向导,其中显示了公司列表。当通过AJAX更新公司的详细信息时,一切都完美无缺。但是,成功更新后,我还想用新客户端表单替换更新客户端表单。Rails中的AJAX:完成模型后显示模型#新窗体#更新

这似乎是正确的做法是使用AJAX来更新表单的包含元素与来自公司#新的JS格式响应。这可能来自公司内部#新的JS格式回应?

回答

2

是的,在这种情况下使用ajax是一件好事。发布后,公司的详细信息通过ajax成功更新。

如果当前更新成功,并且将新表单作为json传递,您可以执行的操作是在update操作中呈现json。

def update 
    @company = Company.find(params[:id]) 
    respond_to do |format| 
    if @company.update_attributes(params[:company]) 
     format.json { render json: { success: true, html: render_to_string('_form.html.slim', layout: false) } } 
     format.html { redirect_to @company, notice: 'Company was successfully updated.' } 
    else 
     ... 

您可以访问js中的json并替换当前的表单元素。

$('#company_form').live 'ajax:success', (event,data) -> 
    $('#current_company_form').html(data.html) if(data.success == true) 

让我知道,如果这有助于。

+0

这让我走上了正轨,然后我找到了类似的解决方案。谢谢。 – 2012-03-27 00:34:17